* @param arguments
   * @return Stella_Object
   */
  public static Stella_Object apply(java.lang.reflect.Method code, Cons arguments) {
    if (arguments == Stella.NIL) {
      return (((Stella_Object)(edu.isi.stella.javalib.Native.funcall(code, null, new java.lang.Object [] {}))));
    }
    else {
      { Stella_Object arg1 = arguments.value;

        arguments = arguments.rest;
        if (arguments == Stella.NIL) {
          return (((Stella_Object)(edu.isi.stella.javalib.Native.funcall(code, null, new java.lang.Object [] {arg1}))));
        }
        { Stella_Object arg2 = arguments.value;

          arguments = arguments.rest;
          if (arguments == Stella.NIL) {
            return (((Stella_Object)(edu.isi.stella.javalib.Native.funcall(code, null, new java.lang.Object [] {arg1, arg2}))));
          }
          { Stella_Object arg3 = arguments.value;

            arguments = arguments.rest;
            if (arguments == Stella.NIL) {
              return (((Stella_Object)(edu.isi.stella.javalib.Native.funcall(code, null, new java.lang.Object [] {arg1, arg2, arg3}))));
            }
            { Stella_Object arg4 = arguments.value;

              arguments = arguments.rest;
              if (arguments == Stella.NIL) {
                return (((Stella_Object)(edu.isi.stella.javalib.Native.funcall(code, null, new java.lang.Object [] {arg1, arg2, arg3, arg4}))));
              }
              { Stella_Object arg5 = arguments.value;

                arguments = arguments.rest;
                if (arguments == Stella.NIL) {
                  return (((Stella_Object)(edu.isi.stella.javalib.Native.funcall(code, null, new java.lang.Object [] {arg1, arg2, arg3, arg4, arg5}))));
                }
                { Stella_Object arg6 = arguments.value;

                  arguments = arguments.rest;
                  if (arguments == Stella.NIL) {
                    return (((Stella_Object)(edu.isi.stella.javalib.Native.funcall(code, null, new java.lang.Object [] {arg1, arg2, arg3, arg4, arg5, arg6}))));
                  }
                  { Stella_Object arg7 = arguments.value;

                    arguments = arguments.rest;
                    if (arguments == Stella.NIL) {
                      return (((Stella_Object)(edu.isi.stella.javalib.Native.funcall(code, null, new java.lang.Object [] {arg1, arg2, arg3, arg4, arg5, arg6, arg7}))));
                    }
                    { Stella_Object arg8 = arguments.value;

                      arguments = arguments.rest;
                      if (arguments == Stella.NIL) {
                        return (((Stella_Object)(edu.isi.stella.javalib.Native.funcall(code, null, new java.lang.Object [] {arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8}))));
                      }
                      { Stella_Object arg9 = arguments.value;

                        arguments = arguments.rest;
                        if (arguments == Stella.NIL) {
                          return (((Stella_Object)(edu.isi.stella.javalib.Native.funcall(code, null, new java.lang.Object [] {arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9}))));
                        }
                        { Stella_Object arg10 = arguments.value;

                          arguments = arguments.rest;
                          if (arguments == Stella.NIL) {
                            return (((Stella_Object)(edu.isi.stella.javalib.Native.funcall(code, null, new java.lang.Object [] {arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10}))));
                          }
                          { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

                            stream000.nativeStream.print("Too many function arguments in `apply'.Maximum is 10.");
                            throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }