protected AzureBlobProperties getAzureBlobPropertiesCached(AzureBlobLayoutStrategy.BlobLayout blobLayout)
      throws CloudStorageException {
    AzureBlobProperties azureBlobProperties = (AzureBlobProperties) getThreadLocalMdCache().getObject(blobLayout.blobFilePath);
    if (azureBlobProperties != null && azureBlobProperties.getProperties() != null &&
        azureBlobProperties.getAzureStatus() == HttpStatus.SC_OK) {
      return azureBlobProperties;
    }
    azureBlobProperties = getBlobProperties(blobLayout);
    getThreadLocalMdCache().putObject(blobLayout.blobFilePath, azureBlobProperties);
    return azureBlobProperties;
  }
Returns cached blob properties from Azure
@param blobLayout BlobLayout
@return Blob properties
@throws CloudStorageException
ambry-cloud/src/main/java/com/github/ambry/cloud/azure/AzureCloudDestinationSync.java