/**
  * Устанавливает в провайдер данных данные в поле типа ManyToManyRelationField.
  * @param string $dataSource идентификатор источника данных для элемента
  * @param array $data
  * @throws UnexpectedValueException если данные в неверном формате
  */
 private function setManyToManyObjectSetData($dataSource, $data)
 {
     if (!is_array($data)) {
         throw new UnexpectedValueException('Cannot set data for ManyToManyRelationField. Data should be an array.');
     }
     $property = $this->data->getPropertyByPath($dataSource);
     /**
      * @var ManyToManyRelationField $field
      */
     $field = $property->getField();
     $targetCollection = $field->getTargetCollection();
     /**
      * @var IManyToManyObjectSet $objectSet
      */
     $objectSet = $this->data->getValueByPath($dataSource);
     $objectSet->detachAll();
     foreach ($data as $id) {
         $objectSet->link($targetCollection->getById($id));
     }
 }