@Test
public void preOrder_disjointRoots() {

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