class AbstractMakeContractionsFilter extends RuleFilter {
  
  @Override
  public RuleMatch acceptRuleMatch(RuleMatch match, Map<String, String> arguments, int patternTokenPos,
                                   AnalyzedTokenReadings[] patternTokens, List<Integer> tokenPositions) throws IOException {<FILL_FUNCTION_BODY>}
  
  protected abstract String fixContractions(String suggestion);
}

    RuleMatch newMatch = match;
    List<String> newSugestions = new ArrayList<>();
    for (String suggestion: match.getSuggestedReplacements()) {
      newSugestions.add(fixContractions(suggestion));
    }
    newMatch.setSuggestedReplacements(newSugestions);
    return newMatch;
  
<methods>public non-sealed void <init>() ,public abstract org.languagetool.rules.RuleMatch acceptRuleMatch(org.languagetool.rules.RuleMatch, Map<java.lang.String,java.lang.String>, int, org.languagetool.AnalyzedTokenReadings[], List<java.lang.Integer>) throws java.io.IOException,public boolean matches(Map<java.lang.String,java.lang.String>, org.languagetool.AnalyzedTokenReadings[], int, List<java.lang.Integer>) throws java.io.IOException<variables>