public static Cons cppTranslateMethodCodeSignature(Cons signature) {
    { Cons translatedreturntypes = Stella.NIL;
      Cons translatedparametertypes = Stella.NIL;
      StringWrapper translatedobjecttype = StandardObject.cppTranslateTypeSpec(((StandardObject)(signature.rest.value)));

      { Stella_Object returntype = null;
        Cons iter000 = ((Cons)(signature.value));
        Cons collect000 = null;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          returntype = iter000.value;
          if (collect000 == null) {
            {
              collect000 = Cons.cons(StandardObject.cppTranslateAndPointerizeTypeSpec(((StandardObject)(returntype))), Stella.NIL);
              if (translatedreturntypes == Stella.NIL) {
                translatedreturntypes = collect000;
              }
              else {
                Cons.addConsToEndOfConsList(translatedreturntypes, collect000);
              }
            }
          }
          else {
            {
              collect000.rest = Cons.cons(StandardObject.cppTranslateAndPointerizeTypeSpec(((StandardObject)(returntype))), Stella.NIL);
              collect000 = collect000.rest;
            }
          }
        }
      }
      { Stella_Object parametertype = null;
        Cons iter001 = signature.rest.rest;
        Cons collect001 = null;

        for (;!(iter001 == Stella.NIL); iter001 = iter001.rest) {
          parametertype = iter001.value;
          if (collect001 == null) {
            {
              collect001 = Cons.cons(StandardObject.cppTranslateAndPointerizeTypeSpec(((StandardObject)(parametertype))), Stella.NIL);
              if (translatedparametertypes == Stella.NIL) {
                translatedparametertypes = collect001;
              }
              else {
                Cons.addConsToEndOfConsList(translatedparametertypes, collect001);
              }
            }
          }
          else {
            {
              collect001.rest = Cons.cons(StandardObject.cppTranslateAndPointerizeTypeSpec(((StandardObject)(parametertype))), Stella.NIL);
              collect001 = collect001.rest;
            }
          }
        }
      }
      return (Cons.list$(Cons.cons(Stella.SYM_STELLA_CPP_METHOD_SIGNATURE, Cons.cons(translatedreturntypes, Cons.cons(Cons.cons(translatedobjecttype, Cons.cons(translatedparametertypes, Stella.NIL)), Stella.NIL)))));
    }
  }