ifclass StringTree1 static void addToStringTree(StringTree1 tree, L tokC) { if (empty(tokC)) { tree.leaf = true; ret; } S s = first(tokC); StringTree1 t = tree.getOrAdd(s); addToStringTree(t, dropFirst(tokC)); } endif ifclass StringTree2 static void addToStringTree(StringTree2 tree, L tokC, A leafValue) { if (leafValue == null) ret; if (empty(tokC)) { tree.leafValue = leafValue; ret; } S s = first(tokC); StringTree2 t = tree.getOrAdd(s); addToStringTree(t, dropFirst(tokC), leafValue); } endif