public static void printStellaDefinition(Stella_Object tree, PrintableStringWriter stream) {
    { Object old$PrintprettyP$000 = Stella.$PRINTPRETTYp$.get();
      Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

      try {
        Native.setBooleanSpecial(Stella.$PRINTPRETTYp$, ((Boolean)(Stella.$PRINTPRETTYCODEp$.get())).booleanValue());
        Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
        if (Stella_Object.safePrimaryType(tree) == Stella.SGT_STELLA_CONS) {
          { Cons tree000 = ((Cons)(tree));

            if (tree000.length() >= 3) {
              Native.setBooleanSpecial(Stella.$PRINTPRETTYp$, false);
              stream.print("(" + tree000.value + " " + tree000.rest.value + " " + tree000.rest.rest.value);
              Native.setBooleanSpecial(Stella.$PRINTPRETTYp$, ((Boolean)(Stella.$PRINTPRETTYCODEp$.get())).booleanValue());
              { Stella_Object form = null;
                Cons iter000 = tree000.nthRest(3);

                for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
                  form = iter000.value;
                  {
                    stream.println();
                    stream.print("  " + form);
                  }
;
                }
              }
              stream.print(")");
            }
            else {
              stream.print(tree000);
            }
          }
        }
        else {
          stream.print(tree);
        }
        stream.println();

      } finally {
        Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
        Stella.$PRINTPRETTYp$.set(old$PrintprettyP$000);
      }
    }
  }