def METHOD_NAME(self, string: str, **kwargs: Optional[Dict[str, Any]]) -> Generator[Tuple[str, Pattern[str]], None, None]:  # type:ignore[override]
    regex_denylist: Set[Pattern[str]] = kwargs.get("regex_denylist", self.denylist)  # type: ignore[assignment]
    for regex in regex_denylist:
        for match in regex.findall(string):
            if isinstance(match, tuple):
                for submatch in filter(bool, match):
                    # It might make sense to paste break after yielding
                    yield submatch, regex
            else:
                yield match, regex