def METHOD_NAME(
    self,
    data: bytes,
    pattern: bytes,
    matcher: str | None = None,
    matcher_kwargs: dict[str, str] | None = None
) -> bool:
    """Call the matcher."""
    if matcher and not self._matchers.get(matcher):
        raise self.MatcherNotInstalled(
            f'No matcher installed for {matcher}'
        )
    match_func = self._matchers[matcher or 'glob']
    if matcher in self.matcher_pattern_first:
        first_arg = bytes_to_str(pattern)
        second_arg = bytes_to_str(data)
    else:
        first_arg = bytes_to_str(data)
        second_arg = bytes_to_str(pattern)
    return match_func(first_arg, second_arg, **matcher_kwargs or {})