@Override public E remove(int index) {Object[] a = array;int s = size;if (index >= s) {throwIndexOutOfBoundsException(index, s);}@SuppressWarnings("unchecked") E result = (E) a[index];System.arraycopy(a, index + 1, a, index, --s - index);a[s] = null;  size = s;modCount++;return result;}
public override E remove(int index){object[] a = array;int s = _size;if (index >= s){throwIndexOutOfBoundsException(index, s);}E result = (E)a[index];System.Array.Copy(a, index + 1, a, index, --s - index);a[s] = null;_size = s;modCount++;return result;}