@Override public void add(int index, E object) {Object[] a = array;int s = size;if (index > s || index < 0) {throwIndexOutOfBoundsException(index, s);}if (s < a.length) {System.arraycopy(a, index, a, index + 1, s - index);} else {Object[] newArray = new Object[newCapacity(s)];System.arraycopy(a, 0, newArray, 0, index);System.arraycopy(a, index, newArray, index + 1, s - index);array = a = newArray;}a[index] = object;size = s + 1;modCount++;}

@ Override public void add ( int index , E object ) { Object [ ] a = array ; int s = size ; if ( index > s || index < 0 ) { throwIndexOutOfBoundsException ( index , s ) ; } if ( s < a . length ) { System . arraycopy ( a , index , a , index + 1 , s - index ) ; } else { Object [ ] newArray = new Object [ newCapacity ( s ) ] ; System . arraycopy ( a , 0 , newArray , 0 , index ) ; System . arraycopy ( a , index , newArray , index + 1 , s - index ) ; array = a = newArray ; } a [ index ] = object ; size = s + 1 ; modCount ++ ; }
public override void add(int index, E @object){object[] a = array;int s = _size;if (index > s || index < 0){throwIndexOutOfBoundsException(index, s);}if (s < a.Length){System.Array.Copy(a, index, a, index + 1, s - index);}else{object[] newArray = new object[newCapacity(s)];System.Array.Copy(a, 0, newArray, 0, index);System.Array.Copy(a, index, newArray, index + 1, s - index);array = a = newArray;}a[index] = @object;_size = s + 1;modCount++;}
