public T next() {if (size <= index)throw new NoSuchElementException();T res = block[blkIdx];if (++blkIdx == BLOCK_SIZE) {if (++dirIdx < directory.length)block = directory[dirIdx];elseblock = null;blkIdx = 0;}index++;return res;}
public override T Next(){if (this._enclosing.size <= this.index){throw new NoSuchElementException();}T res = this.block[this.blkIdx];if (++this.blkIdx == BlockList<T>.BLOCK_SIZE){if (++this.dirIdx < this._enclosing.directory.Length){this.block = this._enclosing.directory[this.dirIdx];}else{this.block = null;}this.blkIdx = 0;}this.index++;return res;}