public function setFormResponse(ActionResponse $response, Form $form, $prefix = '')
 {
     $specFields = $this->owner->getSpecification()->getSpecificationFieldSet(ActiveRecordModel::LOAD_REFERENCES);
     $specFieldArray = $specFields->toArray();
     // set select values
     $selectors = EavFieldCommon::getSelectorValueTypes();
     foreach ($specFields as $key => $field) {
         if (in_array($field->type->get(), $selectors)) {
             $values = $field->getValuesSet()->toArray();
             $specFieldArray[$key]['values'] = array('' => '');
             foreach ($values as $value) {
                 $specFieldArray[$key]['values'][$value['ID']] = isset($value['value_lang']) ? $value['value_lang'] : $value['value'];
             }
         }
     }
     // arrange SpecFields's into groups
     $specFieldsByGroup = array();
     $prevGroupID = -1;
     $groupClass = $this->getFieldClass() . 'Group';
     foreach ($specFieldArray as $field) {
         $groupID = isset($field[$groupClass]['ID']) ? $field[$groupClass]['ID'] : '';
         if ((int) $groupID && $prevGroupID != $groupID) {
             $prevGroupID = $groupID;
         }
         $specFieldsByGroup[$groupID][] = $field;
     }
     // get multi language spec fields
     $multiLingualSpecFields = array();
     foreach ($specFields as $key => $field) {
         if ($field->isTextField()) {
             $multiLingualSpecFields[] = $field->toArray();
         }
     }
     if (!$prefix) {
         $response->set("specFieldList", $specFieldsByGroup);
     }
     $response->set("groupClass", $groupClass);
     $response->set("multiLingualSpecFieldss", $multiLingualSpecFields);
     // set fields by prefix
     $prefixed = $response->get("specFieldList_prefix", array());
     $prefixed[$prefix] = $specFieldsByGroup;
     $response->set("specFieldList_prefix", $prefixed);
     $this->owner->load();
     // set fields by owner
     if ($this->owner instanceof EavObject && ($owner = $this->owner->getOwner())) {
         $byOwner = $response->get("specFieldListByOwner", array());
         $byOwner[get_class($owner)][$owner->getID()] = $specFieldsByGroup;
         $response->set("specFieldListByOwner", $byOwner);
     }
     $form->setData($this->getFormData($prefix));
     //$this->setFormValidator($form->getValidator());
 }