@@ -0,0 +1,554 @@
+package org.psjava.ds.graph;%0D%0A%0D%0Aimport org.psjava.ds.Collection;%0D%0Aimport org.psjava.javautil.DataFilter;%0D%0Aimport org.psjava.javautil.FilteredIterable;%0D%0A%0D%0Apublic class EdgeFilteredGraph %7B%0D%0A%0D%0A%09public static %3CV, E%3E Graph%3CV, E%3E wrap(final Graph%3CV, E%3E original, final DataFilter%3CE%3E filter) %7B%0D%0A%09%09return new Graph%3CV, E%3E() %7B%0D%0A%09%09%09@Override%0D%0A%09%09%09public Collection%3CV%3E getVertices() %7B%0D%0A%09%09%09%09return original.getVertices();%0D%0A%09%09%09%7D%0D%0A%0D%0A%09%09%09@Override%0D%0A%09%09%09public Iterable%3CE%3E getEdges() %7B%0D%0A%09%09%09%09return FilteredIterable.create(original.getEdges(), filter);%0D%0A%09%09%09%7D%0D%0A%09%09%7D;%0D%0A%09%7D%0D%0A%0D%0A%7D%0D%0A

add a graph util. filtered graph