private CloudBlobStore createAndStartBlobStoreIfAbsent(PartitionId partitionId) {
    try {
      lock.writeLock().lock();
      if (partitionToStore.containsKey(partitionId)) {
        return partitionToStore.get(partitionId);
      }
      CloudBlobStore store = new CloudBlobStore(properties, partitionId, cloudDestination, clusterMap, vcrMetrics);
      partitionToStore.put(partitionId, store);
      store.start();
      return store;
    } finally {
      lock.writeLock().unlock();
    }
  }
Return the blobstore for the given partition if blob store if it is already present in {@code CloudStorageManager::partitionToStore}
Otherwise create a blobstore for the paritition, and start it.
@param partitionId {@code PartitionId} of the store.
@return {@code CloudBlobStore} corresponding to the {@code partitionId}
ambry-cloud/src/main/java/com/github/ambry/cloud/CloudStorageManager.java