def METHOD_NAME(self, header):
    mapping = {
        'provides': headerSource.rpmProvides,
        'requires': headerSource.rpmRequires,
        'conflicts': headerSource.rpmConflicts,
        'obsoletes': headerSource.rpmObsoletes,
        'recommends': headerSource.rpmRecommends,
        'supplements': headerSource.rpmSupplements,
        'enhances': headerSource.rpmEnhances,
        'suggests': headerSource.rpmSuggests,
    }
    for k, dclass in list(mapping.items()):
        unique_deps = []
        l = []
        for dinfo in header.get(k, []):
            hash = dinfo
            if not len(hash['name']):
                continue
            dep_nv = (hash['name'], hash['version'], hash['flags'])
            if dep_nv not in unique_deps:
                unique_deps.append(dep_nv)
                finst = dclass()
                finst.populate(dinfo)
                l.append(finst)
            else:
                continue
        self[k] = l