public static Cons walkCondTree(Cons tree, Object [] MV_returnarray) {
    { Stella_Object condition = null;
      Cons iter000 = tree.rest;

      for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
        condition = iter000.value;
        if (Stella_Object.safePrimaryType(condition) == Stella.SGT_STELLA_CONS) {
          { Cons condition000 = ((Cons)(condition));

            if (!(condition000.value == Stella.SYM_STELLA_OTHERWISE)) {
              condition000.value = Stella_Object.walkExpressionTree(condition000.value, Stella.SGT_STELLA_BOOLEAN, Stella.SYM_STELLA_COND, true, new Object[1]);
              if (Stella_Object.proceduralExpressionP(condition000.value)) {
                return (Cons.walkAConsTree(Cons.condTreeToIfTree(tree), MV_returnarray));
              }
            }
            condition000.rest = Cons.walkListOfStatements(condition000.rest);
          }
        }
        else {
          { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

            try {
              Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
              Stella.signalTranslationError();
              if (!(Stella.suppressWarningsP())) {
                Stella.printErrorContext(">> ERROR: ", Stella.STANDARD_ERROR);
                {
                  Stella.STANDARD_ERROR.nativeStream.println();
                  Stella.STANDARD_ERROR.nativeStream.println(" Illegal condition in COND statement: `" + Stella_Object.deUglifyParseTree(condition) + "'.");
                }
;
              }

            } finally {
              Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
            }
          }
          return (Stella_Object.walkDontCallMeTree(tree, Stella.SGT_STELLA_VOID, MV_returnarray));
        }
      }
    }
    { Cons _return_temp = tree;

      MV_returnarray[0] = Stella.SGT_STELLA_VOID;
      return (_return_temp);
    }
  }