public static Cons cppTranslateVariableLengthActuals(Cons actuals, MethodSlot method) {
    { int nofparameters = method.methodParameterNames().length();
      int restargumentstart = (MethodSlot.cppMethodObjectIsFunctionP(method) ? (nofparameters - 1) : (nofparameters - 2));
      Cons otree = Stella.NIL;
      boolean pusheddummy = false;

      { Stella_Object actual = null;
        Cons iter000 = actuals;
        int i = Stella.NULL_INTEGER;
        int iter001 = 0;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest, iter001 = iter001 + 1) {
          actual = iter000.value;
          i = iter001;
          if (i == restargumentstart) {
            pusheddummy = true;
            { int result = actuals.length() - restargumentstart;

              otree = Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_CPP_LITERAL, Cons.cons(IntegerWrapper.wrapInteger(result), Cons.cons(Stella.NIL, Stella.NIL)))), otree);
            }
          }
          otree = Cons.cons(Stella_Object.cppTranslateATree(actual), otree);
        }
      }
      if (!(pusheddummy)) {
        otree = Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_CPP_LITERAL, Cons.cons(IntegerWrapper.wrapInteger(0), Cons.cons(Stella.NIL, Stella.NIL)))), otree);
      }
      return (Cons.cons(Stella.SYM_STELLA_CPP_ACTUALS, otree.reverse().concatenate(Stella.NIL, Stella.NIL)));
    }
  }