public static function evaluate(Queries\IScope $scope, Queries\IResolvedParameterRegistry $resolvedParameters)
{
$sourceInfo = $scope->getSourceInfo();
if (!$sourceInfo instanceof SourceInfo) {
throw new PinqException('Incompatible query source: expecting source info of type %s, %s given', SourceInfo::SOURCE_INFO_TYPE, get_class($sourceInfo));
}
$evaluator = new self($sourceInfo->getTraversable(), $resolvedParameters);
$evaluator->visit($scope);
return $evaluator->traversable;
}