/**
  * Evaluates inner joins
  *
  * @param QueryBuilder        $queryBuilder Query builder
  * @param AnnotationPaginator $annotation   Annotation
  *
  * @return PaginatorEvaluatorInterface self Object
  */
 public function evaluate(QueryBuilder $queryBuilder, AnnotationPaginator $annotation)
 {
     if (is_array($annotation->getOrderBy())) {
         foreach ($annotation->getOrderBy() as $orderBy) {
             if (is_array($orderBy)) {
                 $field = $this->requestParameterProvider->getParameterValue(trim($orderBy[1]));
                 $direction = $this->requestParameterProvider->getParameterValue(trim($orderBy[2]), isset($orderBy[3]) && is_array($orderBy[3]) ? $orderBy[3] : null);
                 $queryBuilder->addOrderBy(trim($orderBy[0]) . '.' . $field, $direction);
             }
         }
     }
     return $this;
 }