High-level function to call an `analysis' on a `node

def gather(self, analysis, node):
        "High-level function to call an `analysis' on a `node'"
        assert issubclass(analysis, Analysis)
        a = analysis()
        a.attach(self)
        return a.run(node)