def METHOD_NAME(self, text, indent=0):
    """Write 'text' word-wrapped at self.width characters."""
    leading_space = '  ' * indent
    while len(leading_space) + len(text) > self.width:
        # The text is too wide; wrap if possible.
        # Find the rightmost space that would obey our width constraint and
        # that's not an escaped space.
        available_space = self.width - len(leading_space) - len(' $')
        space = available_space
        while True:
            space = text.rfind(' ', 0, space)
            if (space < 0 or
                self._count_dollars_before_index(text, space) % 2 == 0):
                break
        if space < 0:
            # No such space; just use the first unescaped space we can find.
            space = available_space - 1
            while True:
                space = text.find(' ', space + 1)
                if (space < 0 or
                    self._count_dollars_before_index(text, space) % 2 == 0):
                    break
        if space < 0:
            # Give up on breaking.
            break
        self.output.write(leading_space + text[0:space] + ' $\n')
        text = text[space+1:]
        # Subsequent lines are continuations, so indent them.
        leading_space = '  ' * (indent+2)
    self.output.write(leading_space + text + '\n')