sclass StringTree2 { A leafValue; HashMap> children = new HashMap; StringTree2 get(S s) { ret children.get(s); } StringTree2 getOrAdd(S s) { StringTree2 t = children.get(s); if (t == null) children.put(s, t = new StringTree2); ret t; } }