public function replicate($except = null)
    {
        $except = $except ? array_combine($except, $except) : [];

        $attributes = [];

        foreach (array_diff_key($this->items, $except) as $attribute) {
            $attributes[] = $attribute->replicate();
        }

        return new static($attributes);
    }