public static Stella_Object walkMvTree(Stella_Object tree, Object [] MV_returnarray) {
    { Stella_Object otree = null;
      StandardObject otype = null;
      Slot slot = null;

      if (Stella_Object.valuesTreeP(tree)) {
        return (Cons.walkMvValuesTree(((Cons)(tree)), MV_returnarray));
      }
      { Object [] caller_MV_returnarray = new Object[1];

        otree = Stella_Object.walkATree(tree, caller_MV_returnarray);
        otype = ((StandardObject)(caller_MV_returnarray[0]));
      }
      if (Stella_Object.consP(otree)) {
        slot = Cons.slotFromExpressionTree(((Cons)(otree)));
      }
      if (slot != null) {
        if (Surrogate.subtypeOfMethodSlotP(Stella_Object.safePrimaryType(slot))) {
          { MethodSlot slot000 = ((MethodSlot)(slot));

            { Stella_Object _return_temp = otree;

              MV_returnarray[0] = null;
              MV_returnarray[1] = slot000.methodReturnTypeSpecifiers().copy();
              return (_return_temp);
            }
          }
        }
        else {
        }
      }
      { Stella_Object _return_temp = otree;

        MV_returnarray[0] = null;
        MV_returnarray[1] = StandardObject.listifyTypeSpec(otype);
        return (_return_temp);
      }
    }
  }