'Writes re-indented text into the buffer.  This rewraps and
preserves paragraphs.'

def write_text(self, text):

    text_width = max((self.width - self.current_indent), 11)
    indent = ('    ' * self.current_indent)
    self.write(wrap_text(text, text_width, initial_indent=indent, subsequent_indent=indent, preserve_paragraphs=True))
    self.write('\n')
