@Test
public void shouldTraverseOnlyOneLevelGreedilyWhileUsingDefaultModeInRestOfLevels() {

    // given
    LevelIndex<String> index = levelIndex().withLevelCount(3).build();
    index.add(new String[]{"*", "B", "*"}, "default");
    index.add(new String[]{"A", "B", "C"}, "value");
    index.add(new String[]{"A", "C", "*"}, "allowAllValue");
    Matcher allowAll = new MatchAllMatcher();
    CustomizableLevelIndexWalker<String> crawler = new CustomizableLevelIndexWalker<String>(
            indexTraversalOverrides().withGreediness(false, true, false).overridingMatchers(null, allowAll, null).build(),
            new SimpleLevelLeafValuesExtractor<String>(),
            index, "A", "B", "C");
    // when
    List<String> values = crawler.find();
    // then
    assertThat(values).containsOnly("value", "allowAllValue");
}