return ASTBuilderFactory.newUnaryTestNode( ctx, "not", params );
} else if( param instanceof BooleanNode ) {
return ASTBuilderFactory.newFunctionInvocationNode( ctx, name, params );
} else if( param instanceof NameRefNode ) {
return ASTBuilderFactory.newFunctionInvocationNode( ctx, name, params );
} else if( param instanceof QuantifiedExpressionNode ) {
return ASTBuilderFactory.newFunctionInvocationNode( ctx, name, params );
} else if( param instanceof InstanceOfNode ) {
return ASTBuilderFactory.newFunctionInvocationNode( ctx, name, params );
} else if( param instanceof BetweenNode ) {
return ASTBuilderFactory.newFunctionInvocationNode( ctx, name, params );
} else if( param instanceof InNode ) {
return ASTBuilderFactory.newFunctionInvocationNode( ctx, name, params );
} else if( param instanceof InfixOpNode && ((InfixOpNode)param).isBoolean() ) {
return ASTBuilderFactory.newFunctionInvocationNode( ctx, name, params );
} else if (param instanceof FunctionInvocationNode) {
return ASTBuilderFactory.newFunctionInvocationNode(ctx, name, params);
} else if( param instanceof RangeNode ) {
return ASTBuilderFactory.newUnaryTestNode( ctx, "not", params );