/**
  * Finds entities by a set of criteria.
  *
  * @param Criteria $criteria
  * @return array The objects.
  *
  */
 public function findBy(Criteria $criteria)
 {
     $hydrator = $this->_hydrator;
     $classname = $this->_class->getName();
     $result = $this->_em->getConnexionDriver()->findBy($criteria, $this->_class);
     return array_map(function ($item) use($hydrator, $classname) {
         return $hydrator->hydrate($item, new $classname());
     }, $result);
 }