/** * Takes a list of fieldset specifications, creates the fieldsets, and injects them into the master fieldset * * @param array|Traversable|ArrayAccess $fieldsets * @param FieldsetInterface $masterFieldset * @param string $method Method invoking this one (for exception messages) * @return void */ public function prepareAndInjectFieldsets($fieldsets, FieldsetInterface $masterFieldset, $method) { $fieldsets = $this->validateSpecification($fieldsets, $method); foreach ($fieldsets as $fieldsetSpecification) { $flags = isset($fieldsetSpecification['flags']) ? $fieldsetSpecification['flags'] : array(); $spec = isset($fieldsetSpecification['spec']) ? $fieldsetSpecification['spec'] : array(); $fieldset = $this->createFieldset($spec); $masterFieldset->add($fieldset, $flags); } }