docs: def filter(self, sources):
          """
          :param sources: a sequence of sources
          :yields: rtree-filtered sources
          """
          if self.sitecol is None:  # do not filter
              yield from sources
              return
          for src in sources:
              box = self.integration_distance.get_affected_box(src)
              indices = within(box, self.index)
              if len(indices):
                  src.indices = indices
                  yield src