import java.util.*; public class GraphMethods { static void depthFirstSearch(Graph graph, E e, Set visited){ visited.add(e); Map>> nodes = graph.getNodes(); for(ListEdge le : nodes.get(e)){ if(!visited.contains(le.getDest())){ depthFirstSearch(graph, le.getDest(), visited); } } } static boolean pathExists(Graph graph, E from, E to){ Set visited = new HashSet(); depthFirstSearch(graph, from, visited); return visited.contains(to); } }