@Override
  public Iterator<HardDeleteInfo> getHardDeleteMessages(MessageReadSet readSet, StoreKeyFactory storeKeyFactory,
      List<byte[]> recoveryInfoList) throws IOException {
    return new BlobStoreHardDeleteIterator(readSet, storeKeyFactory, recoveryInfoList);
  }
This class takes a read set for blobs that are to be hard deleted and provides corresponding
replacement messages, that can then be written back by the caller to hard delete those blobs.
ambry-messageformat/src/main/java/com/github/ambry/messageformat/BlobStoreHardDelete.java