def METHOD_NAME(self, ctx, s):
    if s.i_module.arg not in self.mmap:
        return
    arg = re.sub(r'\s+', ' ', s.arg)
    if s.parent.keyword == 'module' or s.parent.keyword == 'submodule':
        m = re_rfc8174.search(arg)
        if m is not None:
            self.mmap[s.i_module.arg]['found_8174'] = True
            arg = arg[:m.start()] + arg[m.end():]
        m = re_tlp.search(arg)
        if m is None:
            err_add(ctx.errors, s.pos,
                    'IETF_MISSING_TRUST_LEGAL_PROVISIONING', ())
        else:
            # the statement was changed to "Revised BSD License" in
            # september 2021.  allow both for old docs; require "Revised"
            # for new.
            y = int(m.group(1))
            if y >= 2022 and arg.find("Simplified") > 0:
                err_add(ctx.errors, s.pos,
                        'IETF_MISSING_TRUST_LEGAL_PROVISIONING', ())
        if s.parent.arg.startswith('ietf-'):
            m = re_ietf_rfc.search(arg)
            if m is None:
                err_add(ctx.errors, s.pos,
                    'IETF_MISSING_RFC_TEXT', ())
    if not self.mmap[s.i_module.arg]['found_2119_keywords']:
        if re_2119_keywords.search(arg) is not None:
            self.mmap[s.i_module.arg]['found_2119_keywords'] = True
            self.mmap[s.i_module.arg]['description_pos'] = s.pos