class DashRule extends AbstractDashRule {

  private static volatile AhoCorasickDoubleArrayTrie<String> trie;

  public DashRule(ResourceBundle messages) {
    super(messages);
  }

  @Override
  public String getDescription() {
    return "Sprawdza, czy wyrazy pisane z łącznikiem zapisano z myślnikami (np. „Lądek — Zdrój” zamiast „Lądek-Zdrój”).";
  }

  @Override
  public String getMessage() {
    return "Błędne użycie myślnika zamiast łącznika.";
  }

  @Override
  protected AhoCorasickDoubleArrayTrie<String> getCompoundsData() {<FILL_FUNCTION_BODY>}

}

    AhoCorasickDoubleArrayTrie<String> data = trie;
    if (data == null) {
      synchronized (DashRule.class) {
        data = trie;
        if (data == null) {
          trie = data = loadCompoundFile("/pl/compounds.txt");
        }
      }
    }

    return data;
  
<methods>public void <init>(java.util.ResourceBundle) ,public int estimateContextForSureMatch() ,public abstract java.lang.String getDescription() ,public java.lang.String getId() ,public abstract java.lang.String getMessage() ,public org.languagetool.rules.RuleMatch[] match(org.languagetool.AnalyzedSentence) throws java.io.IOException<variables>