microsoft-azure-storage/src/com/microsoft/azure/storage/table/CloudTable.java
@DoesServiceRequest
    public ArrayList<TableResult> execute(final TableBatchOperation batch, TableRequestOptions options,
            OperationContext opContext) throws StorageException {
        Utility.assertNotNull("batch", batch);
        if (opContext == null) {
            opContext = new OperationContext();
        }

        opContext.initialize();
        options = TableRequestOptions.populateAndApplyDefaults(options, this.getServiceClient());
        return batch.execute(this.getServiceClient(), this.getName(), options, opContext);
    }
@DoesServiceRequest
    public ArrayList<TableResult> execute(final TableBatchOperation batch, TableRequestOptions options,
            OperationContext opContext) throws StorageException {
        Utility.assertNotNull("batch", batch);
        if (opContext == null) {
            opContext = new OperationContext();
        }

        opContext.initialize();
        options = TableRequestOptions.populateAndApplyDefaults(options, this.getServiceClient());
        return batch.execute(this.getServiceClient(), this.getName(), options, opContext);
    }
Executes the specified batch operation on a table as an atomic operation, using the specified
{@link TableRequestOptions} and {@link OperationContext}. A batch operation may contain up to 100 individual
table operations, with the requirement that each operation entity must have same partition key. Only one retrieve
operation is allowed per batch. Note that the total payload of a batch operation is limited to 4MB.
<p>
This method invokes an <a href="http://msdn.microsoft.com/en-us/library/azure/dd894038.aspx">Entity Group
Transaction</a> on the REST API to execute the specified batch operation on the table as an atomic unit, using
the Table service endpoint and storage account credentials of this instance.

Use the {@link TableRequestOptions} to override execution options such as the timeout or retry policy for the
operation.

@param batch
The {@link TableBatchOperation} object representing the operations to execute on the table.
@param options
A {@link TableRequestOptions} object that specifies execution options such as retry policy and timeout
settings for the operation. Specify <code>null</code> to use the request options specified on the
{@link CloudTableClient}.
@param opContext
An {@link OperationContext} object for tracking the current operation. Specify <code>null</code> to
safely ignore operation context.

@return
A <code>java.util.ArrayList</code> of {@link TableResult} that contains the results, in order, of
each {@link TableOperation} in the {@link TableBatchOperation} on the named table.

@throws StorageException
if an error occurs accessing the storage service, or the operation fails.