microsoft-azure-storage/src/com/microsoft/azure/storage/table/TableBatchOperation.java
@Override
    public void add(final int index, final TableOperation element) {
        Utility.assertNotNull("element", element);

        this.checkSingleQueryPerBatch(element, this.size());

        if (element.getOperationType() == TableOperationType.RETRIEVE) {
            this.lockToPartitionKey(((QueryTableOperation) element).getPartitionKey());
        }
        else {
            this.lockToPartitionKey(element.getEntity().getPartitionKey());
        }

        super.add(index, element);
    }
@Override
    public void add(final int index, final TableOperation element) {
        Utility.assertNotNull("element", element);

        this.checkSingleQueryPerBatch(element, this.size());

        if (element.getOperationType() == TableOperationType.RETRIEVE) {
            this.lockToPartitionKey(((QueryTableOperation) element).getPartitionKey());
        }
        else {
            this.lockToPartitionKey(element.getEntity().getPartitionKey());
        }

        super.add(index, element);
    }
Adds the table operation at the specified index in the batch operation <code>ArrayList</code>.

@param index
An <code>int</code> which represents the index in the batch operation <code>ArrayList</code> to add
the table operation at.
@param element
The {@link TableOperation} to add to the batch operation.