public static void printCons(Cons tree, PrintableStringWriter stream, String lparen, String rparen) {
    if (((Boolean)(Stella.$PRINTREADABLYp$.get())).booleanValue()) {
      lparen = "(";
      rparen = ")";
    }
    if (((Boolean)(Stella.$PRINTPRETTYp$.get())).booleanValue()) {
      Cons.pprintCons(tree, stream, lparen, rparen);
      return;
    }
    stream.print(lparen);
    if (!(tree == Stella.NIL)) {
      stream.print(tree.value);
      tree = tree.rest;
      if (((Integer)(Stella.$PRINTLENGTH$.get())).intValue() != Stella.NULL_INTEGER) {
        { int i = 1;

          { Stella_Object element = null;
            Cons iter000 = tree;

            loop000 : for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
              element = iter000.value;
              stream.print(" " + element);
              tree = tree.rest;
              i = i + 1;
              if (i >= ((Integer)(Stella.$PRINTLENGTH$.get())).intValue()) {
                break loop000;
              }
            }
          }
          if (!(tree == Stella.NIL)) {
            stream.print(" ...");
          }
        }
      }
      else {
        { Stella_Object element = null;
          Cons iter001 = tree;

          for (;!(iter001 == Stella.NIL); iter001 = iter001.rest) {
            element = iter001.value;
            stream.print(" " + element);
          }
        }
      }
    }
    stream.print(rparen);
  }