()
| 645 | checkNotNull(retainIfTrue); |
| 646 | return new AbstractIterator<T>() { |
| 647 | @Override |
| 648 | protected T computeNext() { |
| 649 | while (unfiltered.hasNext()) { |
| 650 | T element = unfiltered.next(); |
| 651 | if (retainIfTrue.apply(element)) { |
| 652 | return element; |
| 653 | } |
| 654 | } |
| 655 | return endOfData(); |
| 656 | } |
| 657 | }; |
| 658 | } |
| 659 |