def METHOD_NAME(self, text, offsets):
    # We have all the offsets now, we just need to do the actual splitting.
    # We need to eventually add the first part of the string and the eventual
    # last part.
    offsets.append(len(text))
    tokens = []
    start = 0
    for end in offsets:
        if start > end:
            logger.error(
                "There was a bug in Trie algorithm in tokenization. Attempting to recover. Please report it"
                " anyway."
            )
            continue
        elif start == end:
            # This might happen if there's a match at index 0
            # we're also preventing zero-width cuts in case of two
            # consecutive matches
            continue
        tokens.append(text[start:end])
        start = end
    return token