private void translateAndRethrowException(BlobStorageException bse,
            String container, @Nullable String key) {
        var code = bse.getErrorCode();
        if (code.equals(BlobErrorCode.BLOB_NOT_FOUND)) {
            var exception = new KeyNotFoundException(container, key, "");
            exception.initCause(bse);
            throw exception;
        } else if (code.equals(BlobErrorCode.CONTAINER_NOT_FOUND)) {
            var exception = new ContainerNotFoundException(container, "");
            exception.initCause(bse);
            throw exception;
        } else if (code.equals(BlobErrorCode.CONDITION_NOT_MET)) {
            var request = HttpRequest.builder()
                    .method("GET")
                    .endpoint(endpoint)
                    .build();
            var response = HttpResponse.builder()
                    .statusCode(Status.PRECONDITION_FAILED.getStatusCode())
                    .build();
            throw new HttpResponseException(
                    new HttpCommand(request), response, bse);
        } else if (code.equals(BlobErrorCode.INVALID_OPERATION)) {
            var request = HttpRequest.builder()
                    .method("GET")
                    .endpoint(endpoint)
                    .build();
            var response = HttpResponse.builder()
                    .statusCode(Status.BAD_REQUEST.getStatusCode())
                    .build();
            throw new HttpResponseException(
                    new HttpCommand(request), response, bse);
        } else if (bse.getErrorCode().equals(BlobErrorCode.INVALID_RESOURCE_NAME)) {
            throw new IllegalArgumentException(
                    "Invalid container name", bse);
        }
    }
Translate BlobStorageException to a jclouds exception.  Throws if
translated otherwise returns.
src/main/java/org/gaul/s3proxy/azureblob/AzureBlobStore.java