'Add a breakable separator to the output.  This does not mean that it
will automatically break here.  If no breaking on this position takes
place the `sep` is inserted which default to one space.'

def breakable(self, sep='    '):

    width = len(sep)
    group = self.group_stack[(-1)]
    if group.want_break:
        self.flush()
        self.output.write(self.newline)
        self.output.write(('    ' * self.indentation))
        self.output_width = self.indentation
        self.buffer_width = 0
    else:
        self.buffer.append(Breakable(sep, width, self))
        self.buffer_width += width
        self._break_outer_groups()
