/** * Clones a field. * * @param Field $field * * @return Field The cloned field */ protected function cloneField(Field $field) { $clone = clone $field; $clone->setChildren(array_map(function ($child) { return $this->cloneField($child); }, $field->getChildren())); $clone->setConstraints(array_map(function ($constraint) { return clone $constraint; }, $field->getConstraints())); return $clone; }