public override void ProcessMethodCall(IOqlSyntaxContext callContext, MethodCallExpression methodCall)
        {
            if (methodCall.IsCalled(SkipWhile))
            {
                AndAlso(Expression.Not(methodCall.GetArgument(1)));
                return;
            }

            AndAlso(methodCall.GetArgument(1));

            OqlNavigationClause.ProcessNavigate(callContext, methodCall);
        }
 public override IEnumerable <IMethod> GetMethods()
 {
     return(new[] { Where, SkipWhile }.Union(OqlNavigationClause.WithPredicates()));
 }