public static Cons clTranslateMethodParameters(MethodSlot method) {
    { boolean functionP = method.methodFunctionP;
      boolean abstractP = method.abstractP;
      Cons otree = Stella.NIL;
      Stella_Object oparameter = null;
      Stella_Object firstparametertype = null;

      { Symbol parameter = null;
        Cons iter000 = method.methodParameterNames().theConsList;
        StandardObject ptype = null;
        Cons iter001 = method.methodParameterTypeSpecifiers().theConsList;
        int i = Stella.NULL_INTEGER;
        int iter002 = 1;

        for (;(!(iter000 == Stella.NIL)) &&
                  (!(iter001 == Stella.NIL)); 
              iter000 = iter000.rest,
              iter001 = iter001.rest,
              iter002 = iter002 + 1) {
          parameter = ((Symbol)(iter000.value));
          ptype = ((StandardObject)(iter001.value));
          i = iter002;
          oparameter = Symbol.clTranslateLocalSymbol(parameter);
          if ((!functionP) &&
              ((!abstractP) &&
               (i == 1))) {
            firstparametertype = Stella_Class.clTranslateClassName(Surrogate.typeToClass(StandardObject.typeSpecToBaseType(ptype)));
            { Symbol testValue000 = Symbol.methodCallTypeForVectorStructs(method.slotName, method.slotOwner, functionP);

              if (testValue000 == Stella.SYM_STELLA_OBJECT_METHOD) {
                otree = Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_CLSYS_SELF, Cons.cons(firstparametertype, Cons.cons(Stella.NIL, Stella.NIL)))), otree);
                otree = Cons.cons(oparameter, otree);
              }
              else if (testValue000 == Stella.SYM_STELLA_NON_OBJECT_METHOD) {
                otree = Cons.cons(Cons.cons(oparameter, Cons.cons(firstparametertype, Stella.NIL)), otree);
                otree = Cons.cons(Stella.SYM_STELLA_CLSYS_DUMMY, otree);
              }
              else {
                otree = Cons.cons(Cons.cons(oparameter, Cons.cons(firstparametertype, Stella.NIL)), otree);
              }
            }
          }
          else {
            otree = Cons.cons(oparameter, otree);
          }
        }
      }
      if (((BooleanWrapper)(KeyValueList.dynamicSlotValue(method.dynamicSlots, Stella.SYM_STELLA_METHOD_VARIABLE_ARGUMENTSp, Stella.FALSE_WRAPPER))).wrapperValue &&
          (!MethodSlot.passVariableArgumentsAsListP(method))) {
        otree.rest = Cons.cons(Stella.internCommonLispSymbol("&REST"), otree.rest.concatenate(Stella.NIL, Stella.NIL));
      }
      return (otree.reverse());
    }
  }