private static void appendParameter(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());
    }
  }
private static void appendParameter(ParameterInfo parameterInfo, MatchResult matchResult, int offset, StringBuilder out)