code: def iter_blobs(self, predicate=lambda t: True):
          
          for entry in mviter(self.entries):
              blob = entry.to_blob(self.repo)
              blob.size = entry.size
              output = (entry.stage, blob)
              if predicate(output):
                  yield output
docs: :return: Iterator yielding tuples of Blob objects and stages, tuple(stage, Blob)
  
          :param predicate:
              Function(t) returning True if tuple(stage, Blob) should be yielded by the
              iterator. A default filter, the BlobFilter, allows you to yield blobs
              only if they match a given list of paths.