'Check each of the patterns in `self.implicit_dispatch` for a match,
and dispatch to the stored method for the pattern.  Recursively check
the text before and after the match.  Return a list of `nodes.Text`
and inline element nodes.'

def implicit_inline(self, text, lineno):

    if (not text):
        return []
    for (pattern, method) in self.implicit_dispatch:
        match = pattern.search(text)
        if match:
            try:
                return ((self.implicit_inline(text[:match.start()], lineno) + method(match, lineno)) + self.implicit_inline(text[match.end():], lineno))
            except MarkupMismatch:
                pass
    return [nodes.Text(unescape(text), rawsource=unescape(text, 1))]
