@Override public V getPrevVertex(V source, V target) { if (!containsEdge(source, target)) { throw new NoSuchElementException("Edge not found."); } V prev = graph.getPrevVertex(source, target); while (!vertices.contains(prev)) { prev = graph.getPrevVertex(source, prev); } return prev; }