def METHOD_NAME(self, data):
    """Generates SpaceCharacters and Characters tokens
    Depending on what's in the data, this generates one or more
    ``SpaceCharacters`` and ``Characters`` tokens.
    For example:
        >>> from html5lib.treewalkers.base import TreeWalker
        >>> # Give it an empty tree just so it instantiates
        >>> walker = TreeWalker([])
        >>> list(walker.text(''))
        []
        >>> list(walker.text('  '))
        [{u'data': '  ', u'type': u'SpaceCharacters'}]
        >>> list(walker.text(' abc '))  # doctest: +NORMALIZE_WHITESPACE
        [{u'data': ' ', u'type': u'SpaceCharacters'},
        {u'data': u'abc', u'type': u'Characters'},
        {u'data': u' ', u'type': u'SpaceCharacters'}]
    :arg data: the text data
    :returns: one or more ``SpaceCharacters`` and ``Characters`` tokens
    """
    data = data
    middle = data.lstrip(spaceCharacters)
    left = data[:len(data) - len(middle)]
    if left:
        yield {"type": "SpaceCharacters", "data": left}
    data = middle
    middle = data.rstrip(spaceCharacters)
    right = data[len(middle):]
    if middle:
        yield {"type": "Characters", "data": middle}
    if right:
        yield {"type": "SpaceCharacters", "data": right}