private List<String> validateBlobOnAllReplicas(BlobId blobId, GetOption getOption, ClusterMap clusterMap,
      StoreKeyFactory storeKeyFactory) throws InterruptedException {
    Map<DataNodeId, ServerResponse> dataNodeIdBlobContentMap = new HashMap<>();
    for (ReplicaId replicaId : blobId.getPartition().getReplicaIds()) {
      ServerResponse response =
          getRecordFromNode(replicaId.getDataNodeId(), blobId, getOption, clusterMap, storeKeyFactory);
      dataNodeIdBlobContentMap.put(replicaId.getDataNodeId(), response);
    }
    return getMismatchDetails(blobId.getID(), dataNodeIdBlobContentMap);
  }
Validates {@code blobId} on all of its replicas.
@param blobId the {@link BlobId} to operate on.
@param getOption the {@link GetOption} to use with the {@link com.github.ambry.protocol.GetRequest}.
@param clusterMap the {@link ClusterMap} instance to use.
@param storeKeyFactory the {@link StoreKeyFactory} to use.
@return a list of details if there are mismatches. Zero sized list if there aren't any mismatches.
@throws InterruptedException
ambry-tools/src/main/java/com/github/ambry/tools/admin/BlobValidator.java