code: public BagArray insert (int index, Object object) {
          grow (index);
          // note that arrays can store null objects, unlike bags
          container[index] = objectify (object);
          return this;
      }
docs: 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.