static S replaceAngleBracketVars(S s, Map map) { ret empty(map) ? s : join(replaceAngleBracketVars(javaTokWithAngleBrackets(s), map)); } static LS replaceAngleBracketVars(LS tok, Map map, BitSet replacedTokens_out default null) { if (empty(map)) ret tok; tok = cloneList(tok); for (int i = 1; i < l(tok); i += 2) { S t = tok.get(i); if (isAngleBracketed(t)) { A t2 = map.get(t); if (t2 == null) t2 = map.get(deAngleBracket(t)); if (t2 != null) { tok.set(i, str(t2)); bitSetSet(replacedTokens_out, i); } } } ret tok; } sS replaceAngleBracketVars(S s, O... params) { ret replaceAngleBracketVars(s, paramsToMap(params)); }