public BagArray insert (int index, Object object) {
        grow (index);
        // note that arrays can store null objects, unlike bags
        container[index] = objectify (object);
        return this;
    }
public BagArray insert ( int index , Object object ) { grow ( index ) ; container [ index ] = objectify ( object ) ; return this ; }
Inserts the element at the given index of the underlying array store. The underlying store is
shifted to make space for the new element. The shift might cause the underlying store to be
resized if there is insufficient room.
<p>
Note that null values for the element ARE stored, as the underlying store is not a sparse
array.

@param index An integer value specifying the offset from the beginning of the array.
@param object The element to store.
@return The BagArray, so that operations can be chained together.