/**
  * @param Criteria $criteria
  *
  * @return EntityRepositoryResult
  */
 public function findByCriteria(Criteria $criteria)
 {
     $queryBuilder = $this->entityRepository()->createQueryBuilder('e')->select('e');
     foreach ($criteria->fieldFilters() as $index => $fieldFilter) {
         $this->addFieldFilterToQuery($index, $queryBuilder, $fieldFilter);
     }
     $paginator = new Paginator($queryBuilder->getQuery(), false);
     $totalEntities = count($paginator);
     $pagesCount = ceil($totalEntities / $criteria->rowsPerPage());
     return new EntityRepositoryResult($this->getPageResult($paginator, $criteria), $criteria->page(), $totalEntities, $criteria->rowsPerPage(), $pagesCount);
 }