@Override
  public void add(final int index, final K k) {
    ensureIndex(index);
    grow(size + 1);
    if (index != size) {
      System.arraycopy(a, index, a, index + 1, size - index);
    }
    a[index] = k;
    size++;
    assert !ASSERTS || size <= a.length;
  }
Grows this array list, ensuring that it can contain the given number of entries without
resizing, and in case enlarging it at least by a factor of two.

@param capacity the new minimum capacity for this array list.
geode-core/src/main/java/org/apache/geode/internal/cache/IdentityArrayList.java