'Implements traversing through the keyword and its child keywords.
Can be overridden to allow modifying the passed in ``kw`` without
calling :func:`start_keyword` or :func:`end_keyword` nor visiting
child keywords.'

def visit_keyword(self, kw):

    if (self.start_keyword(kw) is not False):
        kw.keywords.visit(self)
        kw.messages.visit(self)
        self.end_keyword(kw)
