String getMismatchDetails(ServerResponse that) {
      String mismatchDetails = null;
      if (!serverErrorCode.equals(that.serverErrorCode)) {
        mismatchDetails = "ServerErrorCode mismatch: " + serverErrorCode + " v/s " + that.serverErrorCode;
      } else if (serverErrorCode == ServerErrorCode.NoError) {
        if (!storeKey.equals(that.storeKey)) {
          mismatchDetails = "StoreKey mismatch: " + storeKey + " v/s " + that.storeKey;
        } else {
          mismatchDetails = compareBlobProperties(that);
          if (mismatchDetails == null) {
            if (!Arrays.equals(userMetadata, that.userMetadata)) {
              mismatchDetails = "UserMetadata does not match";
            } else if (!Objects.equals(encryptionKey, that.encryptionKey)) {
              mismatchDetails = "EncryptionKey does not match";
            } else if (!Arrays.equals(blobData, that.blobData)) {
              mismatchDetails = "Blob data does not match";
            }
          }
        }
      }
      return mismatchDetails;
    }
Gets details about any mismatches.
@param that the {@link ServerResponse} to compare against.
@return details about any mismatches.
ambry-tools/src/main/java/com/github/ambry/tools/admin/BlobValidator.java