public static Cons javaTranslateMvSetq(Cons tree) {
    { Cons variables = ((Cons)(tree.rest.value));
      Cons functioncall = ((Cons)(tree.rest.rest.value));
      Cons mvassignments = Stella.NIL;
      Cons otree = null;
      Cons otherreturntypes = Stella.NIL;
      Cons mvreturnedvalue = Stella.NIL;

      if (functioncall.value == Stella.SYM_STELLA_SYS_CALL_FUNCTION) {
        otherreturntypes = Symbol.lookupFunction(((Symbol)(functioncall.rest.value))).methodReturnTypeSpecifiers().rest();
      }
      else {
        otherreturntypes = ((MethodSlot)(Stella_Class.lookupSlot(((Stella_Class)(((Surrogate)(functioncall.rest.value)).surrogateValue)), ((Symbol)(functioncall.rest.rest.value))))).methodReturnTypeSpecifiers().rest();
      }
      { Stella_Object variable = null;
        Cons iter000 = variables.rest;
        int currentindex = Stella.NULL_INTEGER;
        int iter001 = 0;
        Stella_Object returntype = null;
        Cons iter002 = otherreturntypes;

        for (;(!(iter000 == Stella.NIL)) &&
                  (!(iter002 == Stella.NIL)); 
              iter000 = iter000.rest,
              iter001 = iter001 + 1,
              iter002 = iter002.rest) {
          variable = iter000.value;
          currentindex = iter001;
          returntype = iter002.value;
          mvreturnedvalue = Cons.list$(Cons.cons(Stella.SYM_STELLA_JAVA_AREF, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_JAVA_IDENT, Cons.cons(StringWrapper.wrapString("caller_MV_returnarray"), Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(IntegerWrapper.wrapInteger(currentindex), Cons.cons(Stella.NIL, Stella.NIL)))));
          if (Surrogate.subtypeOfP(StandardObject.typeSpecToBaseType(((StandardObject)(returntype))), Stella.SGT_STELLA_LITERAL)) {
            mvreturnedvalue = Cons.list$(Cons.cons(Stella.SYM_STELLA_JAVA_SLOT_VALUE, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_JAVA_CAST, Cons.cons(mvreturnedvalue, Cons.cons(Cons.cons(StandardObject.javaTranslateTypeSpec(StandardObject.typeSpecToBaseType(((StandardObject)(returntype))).typeToWrappedType().yieldTypeSpecifier()), Stella.NIL), Stella.NIL)))), Cons.cons(StringWrapper.wrapString("wrapperValue"), Cons.cons(Stella.NIL, Stella.NIL)))));
          }
          mvassignments = Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_JAVA_ASSIGN, Cons.cons(Stella_Object.javaTranslateATree(variable), Cons.cons(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_JAVA_CAST, Cons.cons(mvreturnedvalue, Cons.cons(Cons.cons(StandardObject.javaTranslateTypeSpec(((StandardObject)(returntype))), Stella.NIL), Stella.NIL)))), Stella.NIL), Stella.NIL)))), mvassignments);
        }
      }
      otree = Cons.list$(Cons.cons(Stella.SYM_STELLA_JAVA_BLOCK, Cons.cons(Cons.cons(Cons.cons(StandardObject.javaTranslateArrayOfTypeSpec(Stella.SGT_STELLA_NATIVE_OBJECT_POINTER, false), Cons.list$(Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_JAVA_IDENT, Cons.cons(StringWrapper.wrapString("caller_MV_returnarray"), Cons.cons(Stella.NIL, Stella.NIL)))), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_JAVA_MAKE_ARRAY, Cons.cons(StandardObject.javaTranslateTypeSpec(Stella.SGT_STELLA_NATIVE_OBJECT_POINTER), Cons.cons(Cons.cons(IntegerWrapper.wrapInteger(otherreturntypes.length()), Stella.NIL), Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL))))), Stella.NIL), Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_JAVA_STATEMENTS, Cons.cons(Cons.list$(Cons.cons(Stella.SYM_STELLA_JAVA_ASSIGN, Cons.cons(Stella_Object.javaTranslateATree(variables.value), Cons.cons(Cons.cons(Cons.javaTranslateMvFunctionCall(functioncall, Stella.SYM_STELLA_caller_MV_returnarray), Stella.NIL), Stella.NIL)))), Cons.cons(mvassignments.reverse().concatenate(Stella.NIL, Stella.NIL), Stella.NIL)))), Cons.cons(Stella.NIL, Stella.NIL)))));
      return (otree);
    }
  }