code: def _construct_spacer(self, pos, acc):
          
          parent = self._tree.parent_position(pos)
          if parent is not None:
              grandparent = self._tree.parent_position(parent)
              if self._indent > 0 and grandparent is not None:
                  parent_sib = self._tree.next_sibling_position(parent)
                  draw_vbar = parent_sib is not None and \
                      self._arrow_vbar_char is not None
                  space_width = self._indent - 1 * (draw_vbar) - self._childbar_offset
                  if space_width > 0:
                      void = urwid.AttrMap(urwid.SolidFill(' '), self._arrow_att)
                      acc.insert(0, ((space_width, void)))
                  if draw_vbar:
                      barw = urwid.SolidFill(self._arrow_vbar_char)
                      bar = urwid.AttrMap(barw, self._arrow_vbar_att or
                                          self._arrow_att)
                      acc.insert(0, ((1, bar)))
              return self._construct_spacer(parent, acc)
          else:
              return acc
docs: build a spacer that occupies the horizontally indented space between
          pos's parent and the root node. It will return a list of tuples to be
          fed into a Columns widget.