def METHOD_NAME(
    self,
    config_dict: ConfigDict,
    filename: str,
) -> None:
    detected_deprecations = []
    def push_deprecation(info: DeprecationInfo, line: List[ContextString]):
        if info.check is None or (callable(info.check) and info.check(line)):
            detected_deprecations.append((info, line))
    for kw, v in config_dict.items():
        schema_info = self.get(kw)
        if schema_info is not None and schema_info.deprecation_info is not None:
            if v is None:
                # Edge case: Happens if
                # a keyword is specified in the schema and takes N args
                # and is also specified as deprecated,
                # and is specified in the config with 0 arguments
                # which parses to None for the args
                continue
            if isinstance(v, ContextString):
                push_deprecation(
                    schema_info.deprecation_info,
                    ContextList.with_values(token=v.keyword_token, values=[v]),
                )
            elif isinstance(v, list) and (
                len(v) == 0 or isinstance(v[0], ContextString)
            ):
                push_deprecation(schema_info.deprecation_info, v)
            elif isinstance(v[0], list):
                for arglist in v:
                    push_deprecation(schema_info.deprecation_info, arglist)
    if detected_deprecations:
        for deprecation, line in detected_deprecations:
            warnings.warn(
                ConfigWarning(
                    WarningInfo(
                        is_deprecation=True,
                        filename=filename,
                        message=deprecation.resolve_message(line),
                    ).set_context_keyword(line)
                ),
                stacklevel=1,
            )