microsoft-azure-storage/src/com/microsoft/azure/storage/table/TableBatchOperation.java
protected ArrayList<TableResult> execute(final CloudTableClient client, final String tableName,
            final TableRequestOptions options, final OperationContext opContext) throws StorageException {

        Utility.assertNotNullOrEmpty(TableConstants.TABLE_NAME, tableName);

        if (this.size() == 0) {
            throw new IllegalArgumentException(SR.EMPTY_BATCH_NOT_ALLOWED);
        }

        return ExecutionEngine.executeWithRetry(client, this, this.executeImpl(client, tableName, options, opContext),
                options.getRetryPolicyFactory(), opContext);
    }
protected ArrayList<TableResult> execute(final CloudTableClient client, final String tableName,
            final TableRequestOptions options, final OperationContext opContext) throws StorageException {

        Utility.assertNotNullOrEmpty(TableConstants.TABLE_NAME, tableName);

        if (this.size() == 0) {
            throw new IllegalArgumentException(SR.EMPTY_BATCH_NOT_ALLOWED);
        }

        return ExecutionEngine.executeWithRetry(client, this, this.executeImpl(client, tableName, options, opContext),
                options.getRetryPolicyFactory(), opContext);
    }
Reserved for internal use. Executes this batch operation on the specified table, using the specified
{@link TableRequestOptions} and {@link OperationContext}.
<p>
This method will invoke the Storage Service REST API to execute this batch operation, using the Table service
endpoint and storage account credentials in the {@link CloudTableClient} object.

@param client
A {@link CloudTableClient} instance specifying the Table service endpoint and storage account
credentials to use.
@param tableName
A <code>String</code> containing the name of the table.
@param options
A {@link TableRequestOptions} object that specifies execution options such as retry policy and timeout
settings for the operation.
@param opContext
An {@link OperationContext} object for tracking the current operation.

@return
An <code>ArrayList</code> of {@link TableResult} containing the results of executing the operation.

@throws StorageException
if an error occurs in the storage operation.