@Test
    public void trieLookup() {
        // build a trie
        Trie<String, Integer> t = makeTrie();

        // make a set of queries each resulting with a set of values
        List<Set<Integer>> results = makeQueries().stream()
                .map(p -> t.collectValuesOnPath(p.iterator()))
                .collect(Collectors.toList());

        // check out the expected query results for each corresponding query
        var expected = makeExpectedResults();

        Assert.assertEquals(expected, results);
    }
Build-up a trie of the following structure:
<pre>
              "5"
             /  \
            /    \
          "1"5)  "2"
         /   \      \
        /     \      \
      "2"4)   "3"    "3"
      / \       \      \
     /   \       \      \
   "3"   "4"6)   "4"3)  "4"2)
   /
  /
"4"1)
</pre>
Also augmented with some extra nodes at the level of "1"5) considered partially comparable
@return
test/org.jkiss.dbeaver.test.platform/src/org/jkiss/dbeaver/model/sql/parser/TrieTest.java