public void remove() {if (index == 0)throw new IllegalStateException();BlockList.this.remove(--index);dirIdx = toDirectoryIndex(index);blkIdx = toBlockIndex(index);block = directory[dirIdx];}

public override void Remove(){if (this.index == 0){throw new InvalidOperationException();}this._enclosing.Remove(--this.index);this.dirIdx = BlockList<T>.ToDirectoryIndex(this.index);this.blkIdx = BlockList<T>.ToBlockIndex(this.index);this.block = this._enclosing.directory[this.dirIdx];}
