@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);
    }
@ 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.
Adds the table operation at the specified index in the batch operation <code > ArrayList< / code > .