def invalidate(cls, widget):
        try:
            for ref in cls._widgets[widget].values():
                try:
                    del cls._refs[ref]
                except KeyError:
                    pass
            del cls._widgets[widget]
        except KeyError:
            pass
        if widget not in cls._deps:
            return
        dependants = cls._deps.get(widget, [])
        try:
            del cls._deps[widget]
        except KeyError:
            pass
        for w in dependants:
            cls.invalidate(w)
history should work for private topics
dataset/ETHPy150Open AnyMesh/anyMesh-Python/example/urwid/canvas.py/CanvasCache.invalidate--crossover with--dataset/ETHPy150Open nitely/Spirit/spirit/comment/history/tests.py/CommentHistoryViewTest.test_comment_history_detail_private_topic