/guava/guava/src/com/google/common/collect/Iterables.java
return return new FluentIterable<T>( ) {   Override   public Iterator<T> iterator( ) {     return transform( fromIterable.iterator( ) , function) ;   }   Override   public void forEach( Consumer<? super T> action) {     checkNotNull( action) ;     fromIterable.forEach( ( F f) -> action.accept( function.apply( f) ) ) ;   }   Override   public Spliterator<T> spliterator( ) {     return map( fromIterable.spliterator( ) , function) ;   } }  {
return new FluentIterable<T> ( ) {
}; } public static <T extends @Nullable Object> Iterable<T> filter( final Iterable<T> unfiltered, final Predicate<? super T> retainIfTrue) { checkNotNull(unfiltered); checkNotNull(retainIfTrue); <extra_id_0> @Override public Iterator<T> iterator() { return Iterators.filter(unfiltered.iterator(), retainIfTrue); } @Override public void forEach(Consumer<? super T> action) {