protected function processField($field)
 {
     switch ($field->getName()) {
         case 'editionStatementOfResponsibility':
         case 'issuingJurisdictionAndDenomination':
         case 'noteOnPublishersSeries':
         case 'numberingWithinPublishersSeries':
         case 'otherTitleInformation':
         case 'otherTitleInformationOfPublishersSeries':
         case 'parallelTitleOfPublishersSeries':
         case 'standardNumber':
         case 'statementOfCoordinates':
         case 'statementOfProjection':
         case 'statementOfResponsibilityRelatingToPublishersSeries':
         case 'statementOfScaleArchitectural':
         case 'statementOfScaleCartographic':
         case 'titleProperOfPublishersSeries':
         case 'titleStatementOfResponsibility':
             $this->rad[$field->getName()] = $this->form->getValue($field->getName());
             break;
         case 'type':
             $value = $filtered = array();
             foreach ($this->form->getValue('type') as $item) {
                 $params = $this->context->routing->parse(Qubit::pathInfo($item));
                 $resource = $params['_sf_route']->resource;
                 $value[$resource->id] = $filtered[$resource->id] = $resource;
             }
             foreach ($this->relations as $item) {
                 if (isset($value[$item->term->id])) {
                     unset($filtered[$item->term->id]);
                 } else {
                     $item->delete();
                 }
             }
             foreach ($filtered as $item) {
                 $relation = new QubitObjectTermRelation();
                 $relation->term = $item;
                 $this->resource->objectTermRelationsRelatedByobjectId[] = $relation;
             }
             break;
         default:
             return parent::processField($field);
     }
 }
 protected function processField($field)
 {
     switch ($field->getName()) {
         case 'type':
             $value = $filtered = array();
             foreach ($this->form->getValue('type') as $item) {
                 $params = $this->context->routing->parse(Qubit::pathInfo($item));
                 $resource = $params['_sf_route']->resource;
                 $value[$resource->id] = $filtered[$resource->id] = $resource;
             }
             foreach ($this->relations as $item) {
                 if (isset($value[$item->term->id])) {
                     unset($filtered[$item->term->id]);
                 } else {
                     $item->delete();
                 }
             }
             foreach ($filtered as $item) {
                 $relation = new QubitObjectTermRelation();
                 $relation->term = $item;
                 $this->resource->objectTermRelationsRelatedByobjectId[] = $relation;
             }
             break;
         default:
             return parent::processField($field);
     }
 }
 protected function processField($field)
 {
     switch ($field->getName()) {
         case 'creators':
             $value = $filtered = array();
             foreach ($this->form->getValue('creators') as $item) {
                 $params = $this->context->routing->parse(Qubit::pathInfo($item));
                 $resource = $params['_sf_route']->resource;
                 $value[$resource->id] = $filtered[$resource->id] = $resource;
             }
             foreach ($this->events as $item) {
                 if (isset($value[$item->actor->id])) {
                     unset($filtered[$item->actor->id]);
                 } else {
                     if (!isset($this->request->sourceId)) {
                         $item->delete();
                     }
                 }
             }
             foreach ($filtered as $item) {
                 $event = new QubitEvent();
                 $event->actor = $item;
                 $event->typeId = QubitTerm::CREATION_ID;
                 $this->resource->events[] = $event;
             }
             break;
         default:
             return parent::processField($field);
     }
 }