'like begin_group / end_group but for the with statement.'

@contextmanager
def group(self, indent=0, open='', close=''):

    self.begin_group(indent, open)
    try:
        (yield)
    finally:
        self.end_group(indent, close)
