def foreignKey(self, attr, k):
        'iterate over items matching specified foreign key'
        for t in self.sliceDB.foreignKey(attr, k):
            try: # get from cache if exists
                yield self._weakValueDict[t.id]
            except __HOLE__:
                yield self.sliceAnnotation(t.id, t)
dataset/ETHPy150Open cjlee112/pygr/pygr/annotation.py/AnnotationDB.foreignKey