docs: def _get_tree(self, code, lines, marker, indent):
          """Build a tree to illustrate the way the Wikicode object was parsed.
  
          The method that builds the actual tree is ``__showtree__`` of ``Node``
          objects. *code* is the ``Wikicode`` object to build a tree for. *lines*
          is the list to append the tree to, which is returned at the end of the
          method. *marker* is some object to be used to indicate that the builder
          should continue on from the last line instead of starting a new one; it
          should be any object that can be tested for with ``is``. *indent* is
          the starting indentation.
          """
          def write(*args):
              """Write a new line following the proper indentation rules."""
              if lines and lines[-1] is marker:  # Continue from the last line
                  lines.pop()  # Remove the marker
                  last = lines.pop()
                  lines.append(last + " ".join(args))
              else:
                  lines.append(" " * 6 * indent + " ".join(args))
  
          get = lambda code: self._get_tree(code, lines, marker, indent + 1)
          mark = lambda: lines.append(marker)
          for node in code.nodes:
              node.__showtree__(write, get, mark)
          return lines