@Override public Iterator<T> iterator() { return new FilterIterator<T>(iterator.iterator(), filter); }