/**
  * Recursively extract values for elements and sub-fieldsets, and populate form values
  *
  * @return array
  */
 public function extract()
 {
     $values = parent::extract();
     foreach ($this->getFieldsets() as $fieldset) {
         if (isset($fieldset->getOptions()['use_as_base_fieldset'])) {
             continue;
         }
         $name = $fieldset->getName();
         $values[$name] = $fieldset->extract();
         $fieldset->populateValues($values[$name]);
     }
     return $values;
 }