source: class WalkerTest {
  
    private final DataType dataType;
  
    @Test
    public void preOrder_disjointRoots() {
  
target:     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();
    }
  
  }