code: public StorageBatchResult<Blob> update(BlobInfo blobInfo, BlobTargetOption... options) {
      StorageBatchResult<Blob> result = new StorageBatchResult<>();
      RpcBatch.Callback<StorageObject> callback = createUpdateCallback(this.options, result);
      Map<StorageRpc.Option, ?> optionMap = StorageImpl.optionMap(blobInfo, options);
      batch.addPatch(blobInfo.toPb(), callback, optionMap);
      return result;
    }
docs: Adds a request representing the "update blob" operation to this batch. The {@code options} can
  be used in the same way as for {@link Storage#update(BlobInfo, BlobTargetOption...)}. Calling
  {@link StorageBatchResult#get()} on the return value yields the updated {@link Blob} if
  successful, or throws a {@link StorageException} if the operation failed.