public static <T> LinkedList<T> filter(Collection<T> collection, Filter<T> filter) { LinkedList<T> filtered = new LinkedList<T>(); for (T t : collection) { if (!filter.isOut(t)) { filtered.add(t); } } return filtered; }