text: public void remove() {Object[] a = array;int removalIdx = removalIndex;if (modCount != expectedModCount) {throw new ConcurrentModificationException();}if (removalIdx < 0) {throw new IllegalStateException();}System.arraycopy(a, removalIdx + 1, a, removalIdx, remaining);a[--size] = null;  removalIndex = -1;expectedModCount = ++modCount;}