// returns case-insensitive trie iff map is case-insensitive
static StringTrie asStringTrie(Map map) {
new StringTrie trie;
if (isCIMap(map)) trie.makeCaseInsensitive();
if (map != null)
for (Map.Entry e : map.entrySet())
trie.add(e.getKey(), e.getValue());
ret trie;
}