class MakeContractionsFilter extends AbstractMakeContractionsFilter {
  
  private static final Pattern DE_LE = Pattern.compile("\\bde le\\b", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
  private static final Pattern A_LE = Pattern.compile("\\bà le\\b", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
  private static final Pattern DE_LES = Pattern.compile("\\bde les\\b", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
  private static final Pattern A_LES = Pattern.compile("\\bà les\\b", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);

  protected String fixContractions(String suggestion) {<FILL_FUNCTION_BODY>}

}

    Matcher matcher = DE_LE.matcher(suggestion);
    suggestion = matcher.replaceAll("du");
    matcher = A_LE.matcher(suggestion);
    suggestion = matcher.replaceAll("au");
    matcher = DE_LES.matcher(suggestion);
    suggestion = matcher.replaceAll("des");
    matcher = A_LES.matcher(suggestion);
    suggestion = matcher.replaceAll("aux");
    return suggestion;
  
<methods>public non-sealed void <init>() ,public 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<variables>