Author: Elliot Levin (elliotlevin@hotmail.com)
 public static function factory($prefix)
 {
     return function (Queries\IQuery $query) use($prefix) {
         return Expression\ProcessorFactory::from($query, new self($prefix));
     };
 }
 /**
  * @param ParameterCollection            $parameters
  * @param Queries\IQuery                 $query
  * @param IStructuralExpressionProcessor $processor
  *
  * @return void
  */
 public static function processQuery(ParameterCollection $parameters, Queries\IQuery $query, IStructuralExpressionProcessor $processor)
 {
     $processor = Expression\ProcessorFactory::from($query, new self($parameters, $processor));
     $processor->buildQuery();
 }
 /**
  * @param ResolvedParameterRegistry      $parameters
  * @param Queries\IQuery                 $query
  * @param IStructuralExpressionProcessor $processor
  *
  * @return Queries\IOperationQuery|Queries\IRequestQuery
  */
 public static function processQuery(ResolvedParameterRegistry $parameters, Queries\IQuery $query, IStructuralExpressionProcessor $processor)
 {
     $processor = Expression\ProcessorFactory::from($query, new self($parameters, $processor));
     return $processor->buildQuery();
 }