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

io.ray.api.RayCall Maven / Gradle / Ivy

There is a newer version: 2.36.0
Show newest version
// Generated by `RayCallGenerator.java`. DO NOT EDIT.

package io.ray.api;

import io.ray.api.call.ActorCreator;
import io.ray.api.call.PyActorCreator;
import io.ray.api.call.PyTaskCaller;
import io.ray.api.call.TaskCaller;
import io.ray.api.call.VoidTaskCaller;
import io.ray.api.function.PyActorClass;
import io.ray.api.function.PyFunction;
import io.ray.api.function.RayFunc0;
import io.ray.api.function.RayFunc1;
import io.ray.api.function.RayFunc2;
import io.ray.api.function.RayFunc3;
import io.ray.api.function.RayFunc4;
import io.ray.api.function.RayFunc5;
import io.ray.api.function.RayFunc6;
import io.ray.api.function.RayFuncVoid0;
import io.ray.api.function.RayFuncVoid1;
import io.ray.api.function.RayFuncVoid2;
import io.ray.api.function.RayFuncVoid3;
import io.ray.api.function.RayFuncVoid4;
import io.ray.api.function.RayFuncVoid5;
import io.ray.api.function.RayFuncVoid6;

/**
 * This class provides type-safe interfaces for `Ray.call` and `Ray.createActor`.
 **/
class RayCall {
  // =======================================
  // Methods for remote function invocation.
  // =======================================
  public static  TaskCaller task(RayFunc0 f) {
    Object[] args = new Object[]{};
    return new TaskCaller<>(f, args);
  }

  public static VoidTaskCaller task(RayFuncVoid0 f) {
    Object[] args = new Object[]{};
    return new VoidTaskCaller(f, args);
  }

  public static  TaskCaller task(RayFunc1 f, T0 t0) {
    Object[] args = new Object[]{t0};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc1 f, ObjectRef t0) {
    Object[] args = new Object[]{t0};
    return new TaskCaller<>(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid1 f, T0 t0) {
    Object[] args = new Object[]{t0};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid1 f, ObjectRef t0) {
    Object[] args = new Object[]{t0};
    return new VoidTaskCaller(f, args);
  }

  public static  TaskCaller task(RayFunc2 f, T0 t0, T1 t1) {
    Object[] args = new Object[]{t0, t1};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc2 f, T0 t0, ObjectRef t1) {
    Object[] args = new Object[]{t0, t1};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc2 f, ObjectRef t0, T1 t1) {
    Object[] args = new Object[]{t0, t1};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc2 f, ObjectRef t0, ObjectRef t1) {
    Object[] args = new Object[]{t0, t1};
    return new TaskCaller<>(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid2 f, T0 t0, T1 t1) {
    Object[] args = new Object[]{t0, t1};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid2 f, T0 t0, ObjectRef t1) {
    Object[] args = new Object[]{t0, t1};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid2 f, ObjectRef t0, T1 t1) {
    Object[] args = new Object[]{t0, t1};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid2 f, ObjectRef t0, ObjectRef t1) {
    Object[] args = new Object[]{t0, t1};
    return new VoidTaskCaller(f, args);
  }

  public static  TaskCaller task(RayFunc3 f, T0 t0, T1 t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc3 f, T0 t0, T1 t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc3 f, T0 t0, ObjectRef t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc3 f, T0 t0, ObjectRef t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc3 f, ObjectRef t0, T1 t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc3 f, ObjectRef t0, T1 t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc3 f, ObjectRef t0, ObjectRef t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc3 f, ObjectRef t0, ObjectRef t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new TaskCaller<>(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid3 f, T0 t0, T1 t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid3 f, T0 t0, T1 t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid3 f, T0 t0, ObjectRef t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid3 f, T0 t0, ObjectRef t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid3 f, ObjectRef t0, T1 t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid3 f, ObjectRef t0, T1 t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid3 f, ObjectRef t0, ObjectRef t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid3 f, ObjectRef t0, ObjectRef t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new VoidTaskCaller(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, T0 t0, T1 t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, T0 t0, T1 t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, T0 t0, T1 t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, T0 t0, ObjectRef t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, ObjectRef t0, T1 t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc4 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new TaskCaller<>(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, T0 t0, T1 t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, T0 t0, T1 t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, T0 t0, T1 t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, T0 t0, ObjectRef t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, ObjectRef t0, T1 t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid4 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new VoidTaskCaller(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, T1 t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new TaskCaller<>(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, T1 t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new VoidTaskCaller(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  TaskCaller task(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new TaskCaller<>(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  public static  VoidTaskCaller task(RayFuncVoid6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new VoidTaskCaller(f, args);
  }

  // ===========================
  // Methods for actor creation.
  // ===========================
  public static  ActorCreator actor(RayFunc0 f) {
    Object[] args = new Object[]{};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc1 f, T0 t0) {
    Object[] args = new Object[]{t0};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc1 f, ObjectRef t0) {
    Object[] args = new Object[]{t0};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc2 f, T0 t0, T1 t1) {
    Object[] args = new Object[]{t0, t1};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc2 f, T0 t0, ObjectRef t1) {
    Object[] args = new Object[]{t0, t1};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc2 f, ObjectRef t0, T1 t1) {
    Object[] args = new Object[]{t0, t1};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc2 f, ObjectRef t0, ObjectRef t1) {
    Object[] args = new Object[]{t0, t1};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc3 f, T0 t0, T1 t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc3 f, T0 t0, T1 t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc3 f, T0 t0, ObjectRef t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc3 f, T0 t0, ObjectRef t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc3 f, ObjectRef t0, T1 t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc3 f, ObjectRef t0, T1 t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc3 f, ObjectRef t0, ObjectRef t1, T2 t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc3 f, ObjectRef t0, ObjectRef t1, ObjectRef t2) {
    Object[] args = new Object[]{t0, t1, t2};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, T0 t0, T1 t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, T0 t0, T1 t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, T0 t0, T1 t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, T0 t0, ObjectRef t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, ObjectRef t0, T1 t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc4 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3) {
    Object[] args = new Object[]{t0, t1, t2, t3};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, T1 t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc5 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, T0 t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, T1 t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, T2 t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, T3 t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, T4 t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, T5 t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  public static  ActorCreator actor(RayFunc6 f, ObjectRef t0, ObjectRef t1, ObjectRef t2, ObjectRef t3, ObjectRef t4, ObjectRef t5) {
    Object[] args = new Object[]{t0, t1, t2, t3, t4, t5};
    return new ActorCreator<>(f, args);
  }

  // ===========================
  // Cross-language methods.
  // ===========================
  public static  PyTaskCaller task(PyFunction pyFunction) {
    Object[] args = new Object[]{};
    return new PyTaskCaller<>(pyFunction, args);
  }

  public static  PyTaskCaller task(PyFunction pyFunction, Object obj0) {
    Object[] args = new Object[]{obj0};
    return new PyTaskCaller<>(pyFunction, args);
  }

  public static  PyTaskCaller task(PyFunction pyFunction, Object obj0, Object obj1) {
    Object[] args = new Object[]{obj0, obj1};
    return new PyTaskCaller<>(pyFunction, args);
  }

  public static  PyTaskCaller task(PyFunction pyFunction, Object obj0, Object obj1, Object obj2) {
    Object[] args = new Object[]{obj0, obj1, obj2};
    return new PyTaskCaller<>(pyFunction, args);
  }

  public static  PyTaskCaller task(PyFunction pyFunction, Object obj0, Object obj1, Object obj2, Object obj3) {
    Object[] args = new Object[]{obj0, obj1, obj2, obj3};
    return new PyTaskCaller<>(pyFunction, args);
  }

  public static  PyTaskCaller task(PyFunction pyFunction, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4) {
    Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4};
    return new PyTaskCaller<>(pyFunction, args);
  }

  public static  PyTaskCaller task(PyFunction pyFunction, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, Object obj5) {
    Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4, obj5};
    return new PyTaskCaller<>(pyFunction, args);
  }

  public static PyActorCreator actor(PyActorClass pyActorClass) {
    Object[] args = new Object[]{};
    return new PyActorCreator(pyActorClass, args);
  }

  public static PyActorCreator actor(PyActorClass pyActorClass, Object obj0) {
    Object[] args = new Object[]{obj0};
    return new PyActorCreator(pyActorClass, args);
  }

  public static PyActorCreator actor(PyActorClass pyActorClass, Object obj0, Object obj1) {
    Object[] args = new Object[]{obj0, obj1};
    return new PyActorCreator(pyActorClass, args);
  }

  public static PyActorCreator actor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2) {
    Object[] args = new Object[]{obj0, obj1, obj2};
    return new PyActorCreator(pyActorClass, args);
  }

  public static PyActorCreator actor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2, Object obj3) {
    Object[] args = new Object[]{obj0, obj1, obj2, obj3};
    return new PyActorCreator(pyActorClass, args);
  }

  public static PyActorCreator actor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4) {
    Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4};
    return new PyActorCreator(pyActorClass, args);
  }

  public static PyActorCreator actor(PyActorClass pyActorClass, Object obj0, Object obj1, Object obj2, Object obj3, Object obj4, Object obj5) {
    Object[] args = new Object[]{obj0, obj1, obj2, obj3, obj4, obj5};
    return new PyActorCreator(pyActorClass, args);
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy