code: func (iter *BlobIter) ForEach(cb func(*Blob) error) error {
  	return iter.EncodedObjectIter.ForEach(func(obj plumbing.EncodedObject) error {
  		if obj.Type() != plumbing.BlobObject {
  			return nil
  		}
  
  		b, err := DecodeBlob(obj)
  		if err != nil {
  			return err
  		}
  
  		return cb(b)
  	})
  }
docs: // ForEach call the cb function for each blob contained on this iter until
  // an error happens or the end of the iter is reached. If ErrStop is sent
  // the iteration is stop but no error is returned. The iterator is closed.