@Test
public void testDepthFirstIterable() {

    Node n1 = new Node("1");
    Node n2 = new Node("2");
    n1.children.add(n2);
    Node n3 = new Node("5");
    n1.children.add(n3);
    Node n4 = new Node("6");
    n1.children.add(n4);
    n2.children.add(new Node("3"));
    n2.children.add(new Node("4"));
    assertThat(Trees.depthFirstStream(n1, Node::childrenStream).map(Node::getName))
            .containsExactly("1", "2", "3", "4", "5", "6");
}