svoid wordTreeAdd(MapSO tree, Cl words, O value) { fOr (S word : words) { O child = tree.get(word); Map subTree; if (child instanceof Map) tree = (Map) child; else { tree.put(word, subTree = ciMap()); if (child != null) subTree.put("", child); tree = subTree; } } tree.put("", value); }