sS tok_applyCurlyTransformers(IF1> getTransformer, S s) { ret join(tok_applyCurlyTransformers(getTransformer, javaTok(s))); } static LS tok_applyCurlyTransformers(IF1> getTransformer, LS tok) { for (int iSlash : jfindAll(tok, "/}")) { int iClosing = iSlash+4; IF1 transformer = getTransformer.get(tok.get(iSlash+2)); if (transformer == null) continue; int iOpening = findBeginningOfBracketPart(tok, iClosing); if (iOpening < 0) continue; S transformed = transformer.get(joinSubList(tok, iOpening+1, iSlash-1)); replaceTokens(tok, iOpening, iClosing+1, transformed); } ret tok; }