Use a FilterIterator rather than a modified IteratorIterator, simpler