code: private String indent(int change) {
          int returnLevel;
  
          if (change > 0) {
              returnLevel = indentLevel;
              indentLevel++;
          } else if (change == 0) {
              returnLevel = indentLevel;
          } else {
              assert change < 0;
              indentLevel--;
              returnLevel = indentLevel;
          }
  
          StringBuffer buffer = new StringBuffer();
  
          for (int i = 0; i < returnLevel; i++) {
              buffer.append("  ");
          }
  
          return buffer.toString();
      }
docs: Returns a String to use for indentation and changes the static
  variable <code>indentLevel</code> according to the input parameter
  <code>change</code> as follows:
  <ul>
  <li>If <code>change</code> < 0, reduce the indentation
  level and return a string at the new level</li>
  <li>If <code>change</code> = 0, return a string at the
  current level</li>
  <li>If <code>change</code> > 0, increase the indentation,
  but return a string at previous level</li>
  <ul>
  
  @param change Whether to decrease, leave alone, or increase
  the indentation level.
  @return A string to use for indentation.