public List<T> filter(FilterFunction<T> f) { List<T> ret = new ArrayList<T>(); for (String id : this.map.allIds()) { T obj = this.loadById(id); if (obj != null && f.filter(obj)) { ret.add(obj); } } return ret; }
private T getNext() { while (true) { if (wrappedIterator.hasNext()) { final T next = wrappedIterator.next(); if (filterFunction.filter(next)) { continue; } return next; } return null; } }