// name -> (text, parsed map) static Map>>> mechMultiMapPairsCI_cache = synchroMap(); static MultiMap> mechMultiMapPairsCI(S listName) { Pair>> p = mechMultiMapPairsCI_cache.get(listName); S text = mechList_opt_raw(listName); if (p != null && eq(p.a, text)) ret p.b; MultiMap> map = toPairsCIMultiMap(parseDoubleArrowMultiMap(new MultiMap, tlft(text))); p = pair(text, map); mechMultiMapPairsCI_cache.put(listName, p); ret p.b; }