All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.rethinkdb.gen.ast.ReqlExpr Maven / Gradle / Ivy

There is a newer version: 2.3.2.20160729
Show newest version
// Autogenerated by metajava.py.
// Do not edit this file directly.
// The template for this file is located at:
// ../../../../../../../../templates/AstSubclass.java

package com.rethinkdb.gen.ast;

import com.rethinkdb.gen.proto.TermType;
import com.rethinkdb.gen.exc.ReqlDriverError;
import com.rethinkdb.model.Arguments;
import com.rethinkdb.model.OptArgs;
import com.rethinkdb.ast.ReqlAst;



public class ReqlExpr extends ReqlAst {


    protected ReqlExpr(TermType termType, Arguments args, OptArgs optargs){
        super(termType, args, optargs);
    }

    public Eq eq(Object exprA, Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAddAll(exprs);
        return new Eq(arguments);
    }
    public Ne ne(Object exprA, Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAddAll(exprs);
        return new Ne(arguments);
    }
    public Lt lt(Object exprA, Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAddAll(exprs);
        return new Lt(arguments);
    }
    public Le le(Object exprA, Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAddAll(exprs);
        return new Le(arguments);
    }
    public Gt gt(Object exprA, Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAddAll(exprs);
        return new Gt(arguments);
    }
    public Ge ge(Object exprA, Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAddAll(exprs);
        return new Ge(arguments);
    }
    public Not not() {
        Arguments arguments = new Arguments(this);
        return new Not(arguments);
    }
    public Add add(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new Add(arguments);
    }
    public Sub sub(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new Sub(arguments);
    }
    public Mul mul(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new Mul(arguments);
    }
    public Div div(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new Div(arguments);
    }
    public Mod mod(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Mod(arguments);
    }
    public Floor floor() {
        Arguments arguments = new Arguments(this);
        return new Floor(arguments);
    }
    public Ceil ceil() {
        Arguments arguments = new Arguments(this);
        return new Ceil(arguments);
    }
    public Round round() {
        Arguments arguments = new Arguments(this);
        return new Round(arguments);
    }
    public Append append(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Append(arguments);
    }
    public Prepend prepend(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Prepend(arguments);
    }
    public Difference difference(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Difference(arguments);
    }
    public SetInsert setInsert(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new SetInsert(arguments);
    }
    public SetIntersection setIntersection(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new SetIntersection(arguments);
    }
    public SetUnion setUnion(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new SetUnion(arguments);
    }
    public SetDifference setDifference(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new SetDifference(arguments);
    }
    public Slice slice(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Slice(arguments);
    }
    public Slice slice(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Slice(arguments);
    }
    public Skip skip(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Skip(arguments);
    }
    public Limit limit(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Limit(arguments);
    }
    public OffsetsOf offsetsOf(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new OffsetsOf(arguments);
    }
    public OffsetsOf offsetsOf(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new OffsetsOf(arguments);
    }
    public OffsetsOf offsetsOf(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new OffsetsOf(arguments);
    }
    public Contains contains() {
        Arguments arguments = new Arguments(this);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Javascript jsA, Javascript jsB, Javascript jsC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        arguments.coerceAndAdd(jsC);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Javascript jsA, Javascript jsB, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        arguments.coerceAndAdd(exprA);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Javascript jsA, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Javascript jsA, Object exprA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsB);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Javascript jsA, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Object exprA, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Object exprA, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Object exprA, Javascript jsA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprB);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Object exprA, Object exprB, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(jsA);
        return new Contains(arguments);
    }
    public Contains contains(Javascript js, Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Javascript js, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Javascript js, Javascript jsA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprB);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Javascript js, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Javascript js, Object exprB, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(jsA);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Javascript js, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Object exprB, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Object exprB, Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Object exprB, Javascript js, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprC);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Object exprB, Object exprC, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(js);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Object exprB, Object exprC, Object exprD) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(exprD);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Object exprB, Object exprC, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(func1);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Object exprB, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Object exprB, ReqlFunction1 func1, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprC);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, Object exprB, ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, ReqlFunction1 func1, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, ReqlFunction1 func1, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, ReqlFunction1 func1, Object exprB, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1A);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprB);
        return new Contains(arguments);
    }
    public Contains contains(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, Object exprA, Object exprB, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1A);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprB);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1B);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        arguments.coerceAndAdd(exprA);
        return new Contains(arguments);
    }
    public Contains contains(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B, ReqlFunction1 func1C) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        arguments.coerceAndAdd(func1C);
        return new Contains(arguments);
    }
    public GetField getField(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new GetField(arguments);
    }
    public GetField g(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new GetField(arguments);
    }
    public Keys keys() {
        Arguments arguments = new Arguments(this);
        return new Keys(arguments);
    }
    public HasFields hasFields(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new HasFields(arguments);
    }
    public WithFields withFields(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new WithFields(arguments);
    }
    public Pluck pluck(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new Pluck(arguments);
    }
    public Without without(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new Without(arguments);
    }
    public Merge merge() {
        Arguments arguments = new Arguments(this);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Javascript jsA, Javascript jsB, Javascript jsC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        arguments.coerceAndAdd(jsC);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Javascript jsA, Javascript jsB, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        arguments.coerceAndAdd(exprA);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Javascript jsA, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Javascript jsA, Object exprA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsB);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Javascript jsA, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Object exprA, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Object exprA, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Object exprA, Javascript jsA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprB);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Object exprA, Object exprB, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(jsA);
        return new Merge(arguments);
    }
    public Merge merge(Javascript js, Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Javascript js, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Javascript js, Javascript jsA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprB);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Javascript js, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Javascript js, Object exprB, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(jsA);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Javascript js, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Object exprB, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Object exprB, Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Object exprB, Javascript js, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprC);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Object exprB, Object exprC, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(js);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Object exprB, Object exprC, Object exprD) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(exprD);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Object exprB, Object exprC, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(func1);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Object exprB, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Object exprB, ReqlFunction1 func1, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprC);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, Object exprB, ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, ReqlFunction1 func1, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, ReqlFunction1 func1, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, ReqlFunction1 func1, Object exprB, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1A);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprB);
        return new Merge(arguments);
    }
    public Merge merge(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, Object exprA, Object exprB, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1A);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprB);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1B);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        arguments.coerceAndAdd(exprA);
        return new Merge(arguments);
    }
    public Merge merge(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B, ReqlFunction1 func1C) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        arguments.coerceAndAdd(func1C);
        return new Merge(arguments);
    }
    public Between between(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Between(arguments);
    }
    public Reduce reduce(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Reduce(arguments);
    }
    public Reduce reduce(ReqlFunction2 func2) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func2);
        return new Reduce(arguments);
    }
    public Fold fold(Object exprA, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        return new Fold(arguments);
    }
    public Fold fold(Object exprA, ReqlFunction2 func2) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func2);
        return new Fold(arguments);
    }
    public Map map(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Map(arguments);
    }
    public Map map(Object exprA, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        return new Map(arguments);
    }
    public Map map(Object exprA, Object exprB, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        return new Map(arguments);
    }
    public Map map(Object exprA, Object exprB, Object exprC, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(js);
        return new Map(arguments);
    }
    public Map map(Object exprA, Object exprB, Object exprC, ReqlFunction4 func4) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(func4);
        return new Map(arguments);
    }
    public Map map(Object exprA, Object exprB, ReqlFunction3 func3) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func3);
        return new Map(arguments);
    }
    public Map map(Object exprA, ReqlFunction2 func2) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func2);
        return new Map(arguments);
    }
    public Map map(ReqlFunction0 func0) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func0);
        return new Map(arguments);
    }
    public Map map(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Map(arguments);
    }
    public Filter filter(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Filter(arguments);
    }
    public Filter filter(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Filter(arguments);
    }
    public Filter filter(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Filter(arguments);
    }
    public ConcatMap concatMap(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new ConcatMap(arguments);
    }
    public ConcatMap concatMap(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new ConcatMap(arguments);
    }
    public OrderBy orderBy() {
        Arguments arguments = new Arguments(this);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Javascript jsA, Javascript jsB, Javascript jsC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        arguments.coerceAndAdd(jsC);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Javascript jsA, Javascript jsB, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        arguments.coerceAndAdd(exprA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Javascript jsA, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Javascript jsA, Object exprA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Javascript jsA, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Object exprA, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Object exprA, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Object exprA, Javascript jsA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Object exprA, Object exprB, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(jsA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Javascript js, Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Javascript js, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Javascript js, Javascript jsA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Javascript js, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Javascript js, Object exprB, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(jsA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Javascript js, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Object exprB, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Object exprB, Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Object exprB, Javascript js, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprC);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Object exprB, Object exprC, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(js);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Object exprB, Object exprC, Object exprD) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(exprD);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Object exprB, Object exprC, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(func1);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Object exprB, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Object exprB, ReqlFunction1 func1, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprC);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, Object exprB, ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, ReqlFunction1 func1, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, ReqlFunction1 func1, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, ReqlFunction1 func1, Object exprB, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1A);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, Object exprA, Object exprB, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1A);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1B);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        arguments.coerceAndAdd(exprA);
        return new OrderBy(arguments);
    }
    public OrderBy orderBy(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B, ReqlFunction1 func1C) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        arguments.coerceAndAdd(func1C);
        return new OrderBy(arguments);
    }
    public Distinct distinct() {
        Arguments arguments = new Arguments(this);
        return new Distinct(arguments);
    }
    public Count count() {
        Arguments arguments = new Arguments(this);
        return new Count(arguments);
    }
    public Count count(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Count(arguments);
    }
    public Count count(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Count(arguments);
    }
    public Count count(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Count(arguments);
    }
    public IsEmpty isEmpty() {
        Arguments arguments = new Arguments(this);
        return new IsEmpty(arguments);
    }
    public Union union(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new Union(arguments);
    }
    public Nth nth(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Nth(arguments);
    }
    public Bracket bracket(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Bracket(arguments);
    }
    public InnerJoin innerJoin(Object exprA, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        return new InnerJoin(arguments);
    }
    public InnerJoin innerJoin(Object exprA, ReqlFunction2 func2) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func2);
        return new InnerJoin(arguments);
    }
    public OuterJoin outerJoin(Object exprA, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        return new OuterJoin(arguments);
    }
    public OuterJoin outerJoin(Object exprA, ReqlFunction2 func2) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func2);
        return new OuterJoin(arguments);
    }
    public EqJoin eqJoin(Javascript js, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        return new EqJoin(arguments);
    }
    public EqJoin eqJoin(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new EqJoin(arguments);
    }
    public EqJoin eqJoin(ReqlFunction1 func1, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        return new EqJoin(arguments);
    }
    public Zip zip() {
        Arguments arguments = new Arguments(this);
        return new Zip(arguments);
    }
    public InsertAt insertAt(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new InsertAt(arguments);
    }
    public DeleteAt deleteAt(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new DeleteAt(arguments);
    }
    public DeleteAt deleteAt(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new DeleteAt(arguments);
    }
    public ChangeAt changeAt(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new ChangeAt(arguments);
    }
    public SpliceAt spliceAt(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new SpliceAt(arguments);
    }
    public CoerceTo coerceTo(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new CoerceTo(arguments);
    }
    public TypeOf typeOf() {
        Arguments arguments = new Arguments(this);
        return new TypeOf(arguments);
    }
    public Update update(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Update(arguments);
    }
    public Update update(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Update(arguments);
    }
    public Update update(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Update(arguments);
    }
    public Delete delete() {
        Arguments arguments = new Arguments(this);
        return new Delete(arguments);
    }
    public Replace replace(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Replace(arguments);
    }
    public Replace replace(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Replace(arguments);
    }
    public Replace replace(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Replace(arguments);
    }
    public Funcall do_(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Funcall(arguments);
    }
    public Funcall do_(Object exprA, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        return new Funcall(arguments);
    }
    public Funcall do_(Object exprA, Object exprB, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        return new Funcall(arguments);
    }
    public Funcall do_(Object exprA, Object exprB, ReqlFunction3 func3) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func3);
        return new Funcall(arguments);
    }
    public Funcall do_(Object exprA, ReqlFunction2 func2) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func2);
        return new Funcall(arguments);
    }
    public Funcall do_(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new Funcall(arguments);
    }
    public Funcall do_(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Funcall(arguments);
    }
    public Or or(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new Or(arguments);
    }
    public And and(Object... exprs) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAddAll(exprs);
        return new And(arguments);
    }
    public ForEach forEach(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new ForEach(arguments);
    }
    public ForEach forEach(ReqlFunction0 func0) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func0);
        return new ForEach(arguments);
    }
    public ForEach forEach(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new ForEach(arguments);
    }
    public Info info() {
        Arguments arguments = new Arguments(this);
        return new Info(arguments);
    }
    public Match match(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Match(arguments);
    }
    public Upcase upcase() {
        Arguments arguments = new Arguments(this);
        return new Upcase(arguments);
    }
    public Downcase downcase() {
        Arguments arguments = new Arguments(this);
        return new Downcase(arguments);
    }
    public Sample sample(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Sample(arguments);
    }
    public Default default_(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Default(arguments);
    }
    public Default default_(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Default(arguments);
    }
    public Default default_(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Default(arguments);
    }
    public ToJsonString toJsonString() {
        Arguments arguments = new Arguments(this);
        return new ToJsonString(arguments);
    }
    public ToJsonString toJson() {
        Arguments arguments = new Arguments(this);
        return new ToJsonString(arguments);
    }
    public ToIso8601 toIso8601() {
        Arguments arguments = new Arguments(this);
        return new ToIso8601(arguments);
    }
    public ToEpochTime toEpochTime() {
        Arguments arguments = new Arguments(this);
        return new ToEpochTime(arguments);
    }
    public InTimezone inTimezone(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new InTimezone(arguments);
    }
    public During during(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new During(arguments);
    }
    public Date date() {
        Arguments arguments = new Arguments(this);
        return new Date(arguments);
    }
    public TimeOfDay timeOfDay() {
        Arguments arguments = new Arguments(this);
        return new TimeOfDay(arguments);
    }
    public Timezone timezone() {
        Arguments arguments = new Arguments(this);
        return new Timezone(arguments);
    }
    public Year year() {
        Arguments arguments = new Arguments(this);
        return new Year(arguments);
    }
    public Month month() {
        Arguments arguments = new Arguments(this);
        return new Month(arguments);
    }
    public Day day() {
        Arguments arguments = new Arguments(this);
        return new Day(arguments);
    }
    public DayOfWeek dayOfWeek() {
        Arguments arguments = new Arguments(this);
        return new DayOfWeek(arguments);
    }
    public DayOfYear dayOfYear() {
        Arguments arguments = new Arguments(this);
        return new DayOfYear(arguments);
    }
    public Hours hours() {
        Arguments arguments = new Arguments(this);
        return new Hours(arguments);
    }
    public Minutes minutes() {
        Arguments arguments = new Arguments(this);
        return new Minutes(arguments);
    }
    public Seconds seconds() {
        Arguments arguments = new Arguments(this);
        return new Seconds(arguments);
    }
    public Group group() {
        Arguments arguments = new Arguments(this);
        return new Group(arguments);
    }
    public Group group(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Group(arguments);
    }
    public Group group(Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new Group(arguments);
    }
    public Group group(Javascript js, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new Group(arguments);
    }
    public Group group(Javascript js, Javascript jsA, Javascript jsB, Javascript jsC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        arguments.coerceAndAdd(jsC);
        return new Group(arguments);
    }
    public Group group(Javascript js, Javascript jsA, Javascript jsB, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        arguments.coerceAndAdd(exprA);
        return new Group(arguments);
    }
    public Group group(Javascript js, Javascript jsA, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        return new Group(arguments);
    }
    public Group group(Javascript js, Javascript jsA, Object exprA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsB);
        return new Group(arguments);
    }
    public Group group(Javascript js, Javascript jsA, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Group(arguments);
    }
    public Group group(Javascript js, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        return new Group(arguments);
    }
    public Group group(Javascript js, Object exprA, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        return new Group(arguments);
    }
    public Group group(Javascript js, Object exprA, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new Group(arguments);
    }
    public Group group(Javascript js, Object exprA, Javascript jsA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprB);
        return new Group(arguments);
    }
    public Group group(Javascript js, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Group(arguments);
    }
    public Group group(Javascript js, Object exprA, Object exprB, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(jsA);
        return new Group(arguments);
    }
    public Group group(Javascript js, Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Group(arguments);
    }
    public Group group(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Group(arguments);
    }
    public Group group(Object exprA, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        return new Group(arguments);
    }
    public Group group(Object exprA, Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new Group(arguments);
    }
    public Group group(Object exprA, Javascript js, Javascript jsA, Javascript jsB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(jsB);
        return new Group(arguments);
    }
    public Group group(Object exprA, Javascript js, Javascript jsA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        arguments.coerceAndAdd(exprB);
        return new Group(arguments);
    }
    public Group group(Object exprA, Javascript js, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        return new Group(arguments);
    }
    public Group group(Object exprA, Javascript js, Object exprB, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(jsA);
        return new Group(arguments);
    }
    public Group group(Object exprA, Javascript js, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Group(arguments);
    }
    public Group group(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Group(arguments);
    }
    public Group group(Object exprA, Object exprB, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        return new Group(arguments);
    }
    public Group group(Object exprA, Object exprB, Javascript js, Javascript jsA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(jsA);
        return new Group(arguments);
    }
    public Group group(Object exprA, Object exprB, Javascript js, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(js);
        arguments.coerceAndAdd(exprC);
        return new Group(arguments);
    }
    public Group group(Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Group(arguments);
    }
    public Group group(Object exprA, Object exprB, Object exprC, Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(js);
        return new Group(arguments);
    }
    public Group group(Object exprA, Object exprB, Object exprC, Object exprD) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(exprD);
        return new Group(arguments);
    }
    public Group group(Object exprA, Object exprB, Object exprC, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        arguments.coerceAndAdd(func1);
        return new Group(arguments);
    }
    public Group group(Object exprA, Object exprB, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        return new Group(arguments);
    }
    public Group group(Object exprA, Object exprB, ReqlFunction1 func1, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprC);
        return new Group(arguments);
    }
    public Group group(Object exprA, Object exprB, ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new Group(arguments);
    }
    public Group group(Object exprA, ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        return new Group(arguments);
    }
    public Group group(Object exprA, ReqlFunction1 func1, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        return new Group(arguments);
    }
    public Group group(Object exprA, ReqlFunction1 func1, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Group(arguments);
    }
    public Group group(Object exprA, ReqlFunction1 func1, Object exprB, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1A);
        return new Group(arguments);
    }
    public Group group(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new Group(arguments);
    }
    public Group group(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprB);
        return new Group(arguments);
    }
    public Group group(Object exprA, ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, Object exprA, Object exprB, Object exprC) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(exprC);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, Object exprA, Object exprB, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        arguments.coerceAndAdd(func1A);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprB);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, Object exprA, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, ReqlFunction1 func1A) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, ReqlFunction1 func1A, Object exprA, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(func1B);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B, Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        arguments.coerceAndAdd(exprA);
        return new Group(arguments);
    }
    public Group group(ReqlFunction1 func1, ReqlFunction1 func1A, ReqlFunction1 func1B, ReqlFunction1 func1C) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        arguments.coerceAndAdd(func1A);
        arguments.coerceAndAdd(func1B);
        arguments.coerceAndAdd(func1C);
        return new Group(arguments);
    }
    public Sum sum() {
        Arguments arguments = new Arguments(this);
        return new Sum(arguments);
    }
    public Sum sum(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Sum(arguments);
    }
    public Sum sum(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Sum(arguments);
    }
    public Sum sum(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Sum(arguments);
    }
    public Avg avg() {
        Arguments arguments = new Arguments(this);
        return new Avg(arguments);
    }
    public Avg avg(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Avg(arguments);
    }
    public Avg avg(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Avg(arguments);
    }
    public Avg avg(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Avg(arguments);
    }
    public Min min() {
        Arguments arguments = new Arguments(this);
        return new Min(arguments);
    }
    public Min min(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Min(arguments);
    }
    public Min min(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Min(arguments);
    }
    public Min min(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Min(arguments);
    }
    public Max max() {
        Arguments arguments = new Arguments(this);
        return new Max(arguments);
    }
    public Max max(Javascript js) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(js);
        return new Max(arguments);
    }
    public Max max(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Max(arguments);
    }
    public Max max(ReqlFunction1 func1) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(func1);
        return new Max(arguments);
    }
    public Split split() {
        Arguments arguments = new Arguments(this);
        return new Split(arguments);
    }
    public Split split(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Split(arguments);
    }
    public Split split(Object exprA, Object exprB) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        arguments.coerceAndAdd(exprB);
        return new Split(arguments);
    }
    public Ungroup ungroup() {
        Arguments arguments = new Arguments(this);
        return new Ungroup(arguments);
    }
    public Changes changes() {
        Arguments arguments = new Arguments(this);
        return new Changes(arguments);
    }
    public ToGeojson toGeojson() {
        Arguments arguments = new Arguments(this);
        return new ToGeojson(arguments);
    }
    public Distance distance(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Distance(arguments);
    }
    public Intersects intersects(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Intersects(arguments);
    }
    public Includes includes(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new Includes(arguments);
    }
    public Fill fill() {
        Arguments arguments = new Arguments(this);
        return new Fill(arguments);
    }
    public PolygonSub polygonSub(Object exprA) {
        Arguments arguments = new Arguments(this);
        arguments.coerceAndAdd(exprA);
        return new PolygonSub(arguments);
    }
    public Values values() {
        Arguments arguments = new Arguments(this);
        return new Values(arguments);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy