void (ParameterInfo parameterInfo, MatchResult matchResult, int offset, StringBuilder out) { final Map<String, ParameterInfo> infos = parameterInfo.getUserData(PARAMETER_CONTEXT); assert infos != null; final List<MatchResult> matches = new SmartList<>(matchResult.getChildren()); matches.add(matchResult); matches.sort(Comparator.comparingInt((MatchResult result) -> result.getMatch().getTextOffset()).reversed()); for (MatchResult match : matches) { final ParameterInfo typeInfo = infos.get(match.getName()); if (typeInfo != null) out.insert(typeInfo.getStartIndex() + offset, match.getMatchImage()); } }