class DynamicHunspellLanguage extends DynamicLanguage {

  DynamicHunspellLanguage(String name, String code, File dictPath) {
    super(name, code, dictPath);
  }

  @Override
  public List<Rule> getRelevantRules(ResourceBundle messages, UserConfig userConfig, Language motherTongue, List<Language> altLanguages) throws IOException {<FILL_FUNCTION_BODY>}

}

    HunspellRule r = new HunspellRule(JLanguageTool.getMessageBundle(Languages.getLanguageForShortCode("en-US")), this, userConfig) {
      @Override
      public String getId() {
        return code.toUpperCase() + "_SPELLER_RULE";
      }
      @NotNull
      @Override
      protected String getDictFilenameInResources(String langCountry) {
        return dictPath.getAbsolutePath().replaceAll(".dic$", "");
      }
      @Override
      public String getSpellingFileName() {
        return null;
      }
    };
    return Collections.singletonList(r);
  
<methods>public java.lang.String getCommonWordsPath() ,public java.lang.String[] getCountries() ,public org.languagetool.language.Contributor[] getMaintainers() ,public java.lang.String getName() ,public List<java.lang.String> getRuleFileNames() ,public java.lang.String getShortCode() ,public boolean isSpellcheckOnlyLanguage() <variables>private static final java.util.regex.Pattern DASH,protected final non-sealed java.lang.String code,protected final non-sealed java.io.File dictPath,protected final non-sealed java.lang.String name