Updated AbstractIterator