!7 cmodule ELECorrectMisrecognitions > ELESuggester { transient MultiMap data; // replacement map void process_impl(S input) { if (data == null) loadData(); showSuggestions(input, data.get(input)); } void loadData() { MultiMap mm = ciMultiMap(); S pat = "* is usually a misrecognition of *"; LS propositions = map getVar(map getVar(pairsB(ai_findConfirmedPropositionsWithPattern(pat)))); L l = mapNotNulls(propositions, s -> getMatches(pat, s)); for (Matches m : l) mm.put($1, $2); data = mm; } }