static S replaceVars(S s, SS map) { ret empty(map) ? s : join(replaceVars(javaTok(s), map)); } static LS replaceVars(LS tok, SS map) { if (empty(map)) ret tok; tok = cloneList(tok); for (S var : keys(map)) jreplace(tok, var, map.get(var)); ret tok; } sS replaceVars(S s, O... params) { ret replaceVars(s, paramsToMap(params)); }