class DateCheckFilter extends AbstractDateCheckWithSuggestionsFilter {

  private final DateFilterHelper dateFilterHelper = new DateFilterHelper();

  @Override
  protected Calendar getCalendar() {
    return dateFilterHelper.getCalendar();
  }

  @SuppressWarnings("ControlFlowStatementWithoutBraces")
  @Override
  protected int getDayOfWeek(String dayStr) {
    return dateFilterHelper.getDayOfWeek(dayStr);
  }

  @Override
  protected String getDayOfWeek(Calendar date) {
    return dateFilterHelper.getDayOfWeek(date);
  }

  @SuppressWarnings({"ControlFlowStatementWithoutBraces", "MagicNumber"})
  @Override
  protected int getMonth(String monthStr) {
    return dateFilterHelper.getMonth(monthStr);
  }

  @Override
  protected String getErrorMessageWrongYear()  {
    return "Dieses Datum stimmt nicht mit dem Tag überein. Meinten Sie \"{currentYear}\"?";
  }

  @Override
  protected String adjustSuggestion(String sugg) {<FILL_FUNCTION_BODY>}
}

    // So. vs Sonntag
    int dotCommaPos = sugg.indexOf(".,");
    if (dotCommaPos > 5 && dotCommaPos < 12) {
      // remove unnecessary dot
      return sugg.replace(".,", ",");
    }
    int commaPos = sugg.indexOf(",");
    if (dotCommaPos < 0 && commaPos > 0 && commaPos < 5) {
      // add dot
      return sugg.replace(",", ".,");
    }
    return sugg;
  
<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>) <variables>protected static final java.util.regex.Pattern DAY_OF_MONTH_PATTERN,private static final Logger logger