code: public int go(boolean simulate) {
          boolean dirty = false;
          PdfContentByte graphics = null;
          if (text != null) {
              graphics = text.getDuplicate();
          }
          else if (!simulate)
              throw new NullPointerException("VerticalText.go with simulate==false and text==null.");
          int status = 0;
          for (;;) {
              if (maxLines <= 0) {
                  status = NO_MORE_COLUMN;
                  if (chunks.isEmpty())
                      status |= NO_MORE_TEXT;
                  break;
              }
              if (chunks.isEmpty()) {
                  status = NO_MORE_TEXT;
                  break;
              }
              PdfLine line = createLine(height);
              if (!simulate && !dirty) {
                  text.beginText();
                  dirty = true;
              }
              shortenChunkArray();
              if (!simulate) {
                  text.setTextMatrix(startX, startY - line.indentLeft());
                  writeLine(line, text, graphics);
              }
              --maxLines;
              startX -= leading;
          }
          if (dirty) {
              text.endText();
              text.add(graphics);
          }
          return status;
      }
docs: Outputs the lines to the document. The output can be simulated.
  @param simulate <CODE>true</CODE> to simulate the writing to the document
  @return returns the result of the operation. It can be <CODE>NO_MORE_TEXT</CODE>
  and/or <CODE>NO_MORE_COLUMN</CODE>