def _DoSection(args, context, callback, trace):
    """{.section foo}"""
    block = args
    # If a section present and "true", push the dictionary onto the stack as the
    # new context, and show it
    if context.PushSection(block.section_name, block.pre_formatters):
        _Execute(block.Statements(), context, callback, trace)
        context.Pop()
    else:  # missing or "false" -- show the {.or} section
        context.Pop()
        _Execute(block.Statements('or'), context, callback, trace)