def METHOD_NAME(self, indict: dict[str, Any]) -> None:
    assert self.dictlist is not None
    intags = {k: v for k, v in indict.items() if k in entities}
    matches = False
    for i in range(len(self.dictlist)):
        curdict = self.dictlist[i]
        curtags = {k: v for k, v in curdict.items() if k in entities}
        if set(intags.items()) == set(curtags.items()):
            if set(indict.keys()) == set(curdict.keys()):
                if check_almost_equal(indict, curdict):
                    return  # update not needed
            matches = True
            self.dictlist[i].update(indict)
            logging.debug(f"Updating {self.filename} entry {curdict} with {indict}")
            break
    if not matches:
        self.dictlist.append(indict)
    self.is_dirty = True  # will need to write out file