class AustrianGermanSpellerRule extends GermanSpellerRule {

  private final CachingWordListLoader wordListLoader = new CachingWordListLoader();
  private static final String LANGUAGE_SPECIFIC_PLAIN_TEXT_DICT = "de/hunspell/spelling-de-AT.txt";
  
  public AustrianGermanSpellerRule(ResourceBundle messages, German language) {
    this(messages, language, null, null);
  }

  /**
   * @since 4.2
   */
  public AustrianGermanSpellerRule(ResourceBundle messages, German language, UserConfig userConfig, LanguageModel lm) {
    super(messages, language, userConfig, LANGUAGE_SPECIFIC_PLAIN_TEXT_DICT, Collections.emptyList(), lm);
  }

  @Override
  public String getId() {
    return "AUSTRIAN_GERMAN_SPELLER_RULE";
  }

  @Override
  protected void init() throws IOException {<FILL_FUNCTION_BODY>}

  @Override
  public String getLanguageVariantSpellingFileName() {
    return LANGUAGE_SPECIFIC_PLAIN_TEXT_DICT;
  }
}

    super.init();
    for (String ignoreWord : wordListLoader.loadWords("/de/hunspell/spelling-de-AT.txt")) {
      addIgnoreWords(ignoreWord);
    }
  
<methods>public void <init>(java.util.ResourceBundle, org.languagetool.language.German) ,public void <init>(java.util.ResourceBundle, org.languagetool.language.German, org.languagetool.UserConfig, java.lang.String) ,public void <init>(java.util.ResourceBundle, org.languagetool.language.German, org.languagetool.UserConfig, java.lang.String, List<org.languagetool.Language>, org.languagetool.languagemodel.LanguageModel) ,public List<java.lang.String> getCandidates(java.lang.String) ,public java.lang.String getId() ,public List<java.lang.String> getSuggestions(java.lang.String) throws java.io.IOException,public boolean isMisspelled(java.lang.String) ,public org.languagetool.rules.RuleMatch[] match(org.languagetool.AnalyzedSentence) throws java.io.IOException<variables>private static final Map<org.languagetool.rules.patterns.StringMatcher,Function<java.lang.String,List<java.lang.String>>> ADDITIONAL_SUGGESTIONS,private static final java.util.regex.Pattern ALLMAHLLIG,private static final java.util.regex.Pattern AUTENTISCH_WITH_CASES,private static final java.util.regex.Pattern BRILLIANT_WITH_CASES,private static final java.util.regex.Pattern CONTAINS_MASZNAME,private static final java.util.regex.Pattern CONTAINS_MAYONNAISE,private static final java.util.regex.Pattern CONTAINS_NEGER,private static final java.util.regex.Pattern CONTAINS_RESERVIERUNG,private static final java.util.regex.Pattern CONTAINS_UNCOMMON_LOWERCASED_NOUN_AT_BEGINNING,private static final java.util.regex.Pattern CONTAINS_UNCOMMON_LOWERCASED_NOUN_AT_END,private static final java.util.regex.Pattern DIRECTION,private static final java.util.regex.Pattern ENDS_WITH_IBELKEIT_IBLICHKEIT,private static final java.util.regex.Pattern ENDS_WITH_LABORANTS,private static final java.util.regex.Pattern END_WITH_SCHAFTE,private static final java.util.regex.Pattern FILE_UNDERLINE_PATTERN,private static final java.util.regex.Pattern FIRST_UPPER_CASE,private static final java.util.regex.Pattern GENDER_STAR_PATTERN,private static final java.util.regex.Pattern HOLZ_SPIEGEL_PANEL_COMPOUND,private static final java.util.regex.Pattern HYPHENED_UPPER_WORD,private static final java.util.regex.Pattern HYPHENED_WORD,private static final java.util.regex.Pattern LOWER_CASE_WORD,private static final int MAX_EDIT_DISTANCE,private static final int MAX_TOKEN_LENGTH,private static final java.util.regex.Pattern MENTION_UNDERLINE_PATTERN,private static final List<java.util.regex.Pattern> PREVENT_SUGGESTION_PATTERNS,private static final java.util.regex.Pattern PROFESSIONELL,private static final java.util.regex.Pattern RECHTMASIG_WITH_CASES,public static final java.lang.String RULE_ID,private static final java.util.regex.Pattern SBHAN_PREFIX,private static final java.util.regex.Pattern SCHAFE_PATTERN,private static final java.util.regex.Pattern SCHAF_PATTERN,private static final java.util.regex.Pattern SPECIAL_CASE,private static final java.util.regex.Pattern SPECIAL_CASE_THIRD,private static final java.util.regex.Pattern SPECIAL_CASE_WITH_S,private static final java.util.regex.Pattern SS,private static final java.util.regex.Pattern STARTING_WITH_SINGLE_CHAR,private static final java.util.regex.Pattern STARTS_WITH_DIAGNOSZIER,private static final java.util.regex.Pattern STARTS_WITH_RESCHASCHIER,private static final java.util.regex.Pattern STARTS_WITH_ZB,private static final java.util.regex.Pattern START_WITH_NEGER,private static final java.util.regex.Pattern START_WITH_SPIEL,private static final java.util.regex.Pattern SYMPHATISCH,private static final java.util.regex.Pattern UBAHN_PREFIX,private static final java.util.regex.Pattern VERSTANDNIS,private static final java.util.regex.Pattern WORD_WITH_PUNCT,private static final java.util.regex.Pattern ZB,private static final java.lang.String adjSuffix,private static final java.util.regex.Pattern compoundPatternSpecialEnding,private static final java.util.regex.Pattern compoundPatternWithAction,private static final java.util.regex.Pattern compoundPatternWithFirst,private static final java.util.regex.Pattern compoundPatternWithHeit,private final non-sealed org.languagetool.tokenizers.de.GermanCompoundTokenizer compoundTokenizer,private final Set<java.lang.String> germanPrefixes,private static final Set<java.lang.String> lcDoNotSuggestWords,private final org.languagetool.rules.de.LineExpander lineExpander,private static final java.util.regex.Pattern missingAdjPattern,private final non-sealed org.languagetool.tokenizers.de.GermanCompoundTokenizer nonStrictCompoundTokenizer,private static final GermanWordSplitter splitter,private final non-sealed org.languagetool.synthesis.Synthesizer synthesizer,private final Set<java.lang.String> wordEndingsToBeProhibited,private final Set<java.lang.String> wordStartsToBeProhibited,private final Set<java.lang.String> wordsNeedingInfixS,private final Set<java.lang.String> wordsToBeIgnoredInCompounds,private final Set<java.lang.String> wordsWithoutInfixS