@Test
public void preOrder_tree_depthFirst() {

  Walker<String> walker =
      DataType.TREE.newWalker(
          ImmutableMap.of(
              "foo", asList("bar", "baz", "cat"),
              "cat", asList("run"),
              "bar", asList("cat", "dog")));
  assertThat(walker.preOrderFrom("foo"))
      .containsExactly("foo", "bar", "cat", "run", "dog", "baz", "cat", "run")
      .inOrder();
}