private String compareBlobProperties(ServerResponse that) {
      String mismatchDetails = null;
      if (blobProperties == null || that.blobProperties == null) {
        mismatchDetails = "Either of BlobProperties is null";
      } else if (blobProperties.getBlobSize() != that.blobProperties.getBlobSize()) {
        mismatchDetails =
            "Size mismatch: " + blobProperties.getBlobSize() + " v/s " + that.blobProperties.getBlobSize();
      } else if (blobProperties.getTimeToLiveInSeconds() != that.blobProperties.getTimeToLiveInSeconds()) {
        mismatchDetails = "TTL mismatch: " + blobProperties.getTimeToLiveInSeconds() + " v/s "
            + that.blobProperties.getTimeToLiveInSeconds();
      } else if (blobProperties.getCreationTimeInMs() != that.blobProperties.getCreationTimeInMs()) {
        mismatchDetails = "Creation time mismatch: " + blobProperties.getCreationTimeInMs() + " v/s "
            + that.blobProperties.getCreationTimeInMs();
      } else if (blobProperties.getContentType() != null && that.blobProperties.getContentType() != null
          && (!blobProperties.getContentType().equals(that.blobProperties.getContentType()))) {
        mismatchDetails = "Content type mismatch: " + blobProperties.getContentType() + " v/s "
            + that.blobProperties.getContentType();
      } else if (blobProperties.getContentType() == null || that.blobProperties.getContentType() == null) {
        mismatchDetails = "Content type mismatch: " + blobProperties.getContentType() + " v/s "
            + that.blobProperties.getContentType();
      } else if (blobProperties.getFilename() != null && that.blobProperties.getFilename() != null
          && (!blobProperties.getFilename().equals(that.blobProperties.getFilename()))) {
        mismatchDetails =
            "Content type mismatch: " + blobProperties.getFilename() + " v/s " + that.blobProperties.getFilename();
      } else if (blobProperties.getContentEncoding() != null && that.blobProperties.getContentEncoding() != null
          && (!blobProperties.getContentEncoding().equals(that.blobProperties.getContentEncoding()))) {
        mismatchDetails =
            "Content type mismatch: " + blobProperties.getContentEncoding() + " v/s " + that.blobProperties.getContentEncoding();
      } else if (blobProperties.getOwnerId() != null && that.blobProperties.getOwnerId() != null
          && (!blobProperties.getOwnerId().equals(that.blobProperties.getOwnerId()))) {
        mismatchDetails =
            "Owner ID mismatch: " + blobProperties.getOwnerId() + " v/s " + that.blobProperties.getOwnerId();
      } else if (blobProperties.getOwnerId() == null || that.blobProperties.getOwnerId() == null) {
        mismatchDetails =
            "Owner ID mismatch: " + blobProperties.getOwnerId() + " v/s " + that.blobProperties.getOwnerId();
      } else if (blobProperties.getServiceId() != null && that.blobProperties.getServiceId() != null && (!blobProperties
          .getServiceId()
          .equals(that.blobProperties.getServiceId()))) {
        mismatchDetails =
            "Service ID mismatch: " + blobProperties.getServiceId() + " v/s " + that.blobProperties.getServiceId();
      } else if (blobProperties.getServiceId() == null || that.blobProperties.getServiceId() == null) {
        mismatchDetails =
            "Service ID mismatch: " + blobProperties.getServiceId() + " v/s " + that.blobProperties.getServiceId();
      } else if (blobProperties.getAccountId() != that.blobProperties.getAccountId()) {
        mismatchDetails =
            "AccountId mismatch: " + blobProperties.getAccountId() + " v/s " + that.blobProperties.getAccountId();
      } else if (blobProperties.getContainerId() != that.blobProperties.getContainerId()) {
        mismatchDetails =
            "ContainerId mismatch: " + blobProperties.getContainerId() + " v/s " + that.blobProperties.getContainerId();
      }
      return mismatchDetails;
    }
Gets details about any mismatches in {@link BlobProperties}
@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