def METHOD_NAME(self, bugs):
    all_deps = set()
    deps_to_max_allowed_date = {}
    for bugid, info in bugs.items():
        bugid = int(bugid)
        # we just keep bugs from dependencies created before bugid
        # since the others cannot be a regresser !
        info["deps"] = deps = set(x for x in info["deps"] if x < bugid)
        if deps:
            all_deps |= deps
            for dep in deps:
                deps_to_max_allowed_date[dep] = info["creation"]
    def bug_handler(bug, data):
        if "meta" in bug["keywords"] or not bug["cf_last_resolved"]:
            data.add(bug["id"])
    def history_handler(bug, data):
        bugid = bug["id"]
        treated.add(bugid)
        resolved_before = False
        for h in bug["history"]:
            if resolved_before:
                break
            for change in h["changes"]:
                if change["field_name"] == "cf_last_resolved" and change["added"]:
                    date = dateutil.parser.parse(change["added"])
                    if date < deps_to_max_allowed_date[bugid]:
                        resolved_before = True
                        break
        if not resolved_before:
            data.add(bugid)
    invalids = set()
    treated = set()
    Bugzilla(
        bugids=list(all_deps),
        include_fields=["id", "keywords", "cf_last_resolved"],
        bughandler=bug_handler,
        bugdata=invalids,
        historyhandler=history_handler,
        historydata=invalids,
    ).get_data().wait()
    # Some bugs aren't accessible so they won't appear in treated (all_deps - treated)
    # Since we don't have any info about them, then we consider them as invalid
    invalids |= all_deps - treated
    for bugid, info in bugs.items():
        info["deps"] -= invalids
    bugs = {bugid: info for bugid, info in bugs.items() if info["deps"]}
    return bugs