code: protected void renderIndentation(AbstractRenderAppender writer, TreeElement node, int level, InheritableState state)
      {
          InternalStringBuilder img = new InternalStringBuilder(32);
  
          // Create the appropriate number of indents
          // These are either the spacer.gif if the parent is the last in the line or the
          // vertical line gif if the parent is not the last child.
          _imgState.clear();
          _imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, WIDTH, "16px");
          _imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, BORDER, "0");
          _imgState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, ALT, "", false);
          for (int i = 0; i < level; i++) {
              int levels = level - i;
              TreeElement parent = node;
              for (int j = 1; j <= levels; j++) {
                  parent = parent.getParent();
              }
  
              img.setLength(0);
              img.append(state.getImageRoot());
              img.append('/');
              if (parent.isLast()) {
                  renderSpacerPrefix(writer, node);
                  img.append(state.getImageSpacer());
                  _imgState.style = null;
              }
              else {
                  renderVerticalLinePrefix(writer, node);
                  img.append(state.getVerticalLineImage());
                  _imgState.style = "vertical-align:bottom;";
              }
              _imgState.src = img.toString();
              _imageRenderer.doStartTag(writer, _imgState);
              _imageRenderer.doEndTag(writer);
              if (parent.isLast()) {
                  renderSpacerSuffix(writer, node);
              }
              else {
                  renderVerticalLineSuffix(writer, node);
              }
          }
      }
docs: Write out the images that create the leading indentation for the given node.
  @param writer the appender where the node indentation images are appended
  @param node the node to render
  @param level the level or depth of the node within the tree
  @param state the set of tree properties that are used to render the tree markup