text: public virtual void remove(){object[] a = this._enclosing.array;int removalIdx = this.removalIndex;if (this._enclosing.modCount != this.expectedModCount){throw new java.util.ConcurrentModificationException();}if (removalIdx < 0){throw new System.InvalidOperationException();}System.Array.Copy(a, removalIdx + 1, a, removalIdx, this.remaining);a[--this._enclosing._size] = null;this.removalIndex = -1;this.expectedModCount = ++this._enclosing.modCount;}