/**
  * @param array[] $value
  * @param PropRule $propRule
  * @param DataTransformer $transformer
  * @return mixed[]
  *
  * @throws ParseException
  */
 public function toModel(array $value, PropRule $propRule, DataTransformer $transformer)
 {
     $type = $propRule->getKey('rel')['map'];
     $emptyModel = $transformer->createModel($propRule->getKey('rel')['model']);
     $models = [];
     foreach ($value as $one) {
         $model = clone $emptyModel;
         $transformer->fillModel($one, $model, $type);
         $models[] = $model;
     }
     return $models;
 }
 /**
  * @param PropRule $propRule
  * @return array
  */
 protected function getType(PropRule $propRule) : array
 {
     $isCollection = $propRule->getKey('coll', false);
     $type = $this->types[$propRule->getType()];
     return [$type, $isCollection];
 }