// -1 if no matching leaf found, otherwise number of steps to get there static int walkStringTreeToLeaf(StringTree1 tree, L items) { int i = 0; while (tree != null && i < l(items)) { if (tree.leaf) ret i; tree = tree.children.get(items.get(i)); ++i; } ret -1; }