def METHOD_NAME(self, data, tags):
    err = []
    keys = tags.keys()
    for k in keys:
        part = k.split(':', 1)
        if ":(" in k or k.startswith("def:") or part[0] in self.exceptions:
            # acess:([date])
            # key def: can contains sign =
            continue
        if k in self.exceptions_whole:
            continue
        if not self.KeyPart1.match(part[0]):
            if self.KeyPart1Less.match(part[0]):
                err.append({"class": 30502, "subclass": stablehash64(k), "text": T_("Concerns tag: `{0}`", '='.join([k, tags[k]])) })
            else:
                err.append({"class": 3050, "subclass": stablehash64(k), "text": T_("Concerns tag: `{0}`", '='.join([k, tags[k]])) })
        elif len(part) == 2 and not self.KeyPart2.match(part[1]):
            err.append({"class": 30501, "subclass": stablehash64(k), "text": T_("Concerns tag: `{0}`", '='.join([k, tags[k]])) })
    return err