/**
   * This implementation invokes {@link BlobUtilsImpl#createDirectory}
   *
   * @param container container name
   * @param directory virtual path
   */
  public ListenableFuture<Void> createDirectory(
      final String containerName, final String directory) {

    return blobUtils.directoryExists(containerName, directory)
        ? Futures.immediateFuture((Void) null)
        : org.jclouds.concurrent.Futures.makeListenable(
            service.submit(
                new Callable<Void>() {
                  public Void call() throws Exception {
                    blobUtils.createDirectory(containerName, directory);
                    return null;
                  }

                  @Override
                  public String toString() {
                    return "createDirectory(" + containerName + "," + directory + ")";
                  }
                }),
            service);
  }
 /** invokes {@link BlobUtilsImpl#blobBuilder } */
 @Override
 public BlobBuilder blobBuilder(String name) {
   return blobUtils.blobBuilder().name(name);
 }