/**
  * @param QueryInterface $query
  *
  * @return Result|null
  * @throws Exception
  */
 public function process(QueryInterface $query)
 {
     /* @var $query SelectQuery */
     if (!$query->isType(QueryInterface::TYPE_SELECT)) {
         return null;
     }
     $field = $query->getFirstField();
     if ($field->getType() !== Expression::TYPE_FUNCTION || $field->getExpression() !== Expression::EXPR_USER) {
         return null;
     }
     return $this->getResultFromData(self::$data, self::$fields);
 }