public synchronized void putIfAbsent(String name, InputStream in, long contentLength) {
allocateContainer();
BlobStore store = context.getBlobStore();
if (!store.blobExists(container, name)) {
LOG.info("Uploading '{}' to '{}' blob cache.", name, container);
Blob blob = context.getBlobStore().newBlob(name);
blob.setPayload(in);
blob.getMetadata().getContentMetadata().setContentLength(contentLength);