public static Stream<Vertex> depthFirst(Graph g) {
        return depthFirst(g.getRoots());
    }
@Test
    public void testDFSBasic() {
        DepthFirst.depthFirst(g).forEach(v -> visitCount.incrementAndGet());
        assertEquals("It should visit each node once", visitCount.get(), 3);
    }