public static Cons walkForeachTree(Cons tree, Object [] MV_returnarray) {
    { Object old$Nofspecialsatloopentry$000 = Stella.$NOFSPECIALSATLOOPENTRY$.get();

      try {
        Native.setIntSpecial(Stella.$NOFSPECIALSATLOOPENTRY$, ((KeyValueList)(Stella.$SPECIALVARIABLESTACK$.get())).length());
        { GeneralizedSymbol testValue000 = ((GeneralizedSymbol)(tree.value));

          if (testValue000 == Stella.SYM_STELLA_FOREACH) {
            return (Cons.walkPrefixForeachTree(Cons.foreachToPrefixForeachTree(tree), MV_returnarray));
          }
          else if (testValue000 == Stella.SYM_STELLA_EXISTS) {
            return (Cons.walkExistsTree(tree, MV_returnarray));
          }
          else if (testValue000 == Stella.SYM_STELLA_FORALL) {
            return (Cons.walkForallTree(tree, MV_returnarray));
          }
          else if (testValue000 == Stella.SYM_STELLA_SOME) {
            return (Cons.walkSomeTree(tree, MV_returnarray));
          }
          else {
            { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

              stream000.nativeStream.print("`" + testValue000 + "' is not a valid case option");
              throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
            }
          }
        }

      } finally {
        Stella.$NOFSPECIALSATLOOPENTRY$.set(old$Nofspecialsatloopentry$000);
      }
    }
  }