'Implements traversing through the suite and its direct children.
Can be overridden to allow modifying the passed in ``suite`` without
calling :func:`start_suite` or :func:`end_suite` nor visiting child
suites, tests or keywords (setup and teardown) at all.'

def visit_suite(self, suite):

    if (self.start_suite(suite) is not False):
        suite.keywords.visit(self)
        suite.suites.visit(self)
        suite.tests.visit(self)
        self.end_suite(suite)
