Program: 167223
Project: 167223
Buggy source:
private void setupListeners(){
  txtConWordProp.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveModWord();
      generatePronunciation();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveModWord();
      generatePronunciation();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveModWord();
      generatePronunciation();
    }
  }
);
  txtDefProp.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveModWord();
    }
  }
);
  txtLocalWordProp.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveModWord();
    }
  }
);
  txtPluralProp.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveModWord();
    }
  }
);
  txtPronunciationProp.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveModWord();
    }
  }
);
  txtAlphaOrder.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      core.getPropertiesManager().setAlphaOrder(txtAlphaOrder.getText());
    }
    @Override public void removeUpdate(    DocumentEvent e){
      core.getPropertiesManager().setAlphaOrder(txtAlphaOrder.getText());
    }
    @Override public void insertUpdate(    DocumentEvent e){
      core.getPropertiesManager().setAlphaOrder(txtAlphaOrder.getText());
    }
  }
);
  txtConWordFilter.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      filterDict();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      filterDict();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      filterDict();
    }
  }
);
  txtDefFilter.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      filterDict();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      filterDict();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      filterDict();
    }
  }
);
  txtLocalWordFilter.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      filterDict();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      filterDict();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      filterDict();
    }
  }
);
  txtPronunciationFilter.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      filterDict();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      filterDict();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      filterDict();
    }
  }
);
  txtTypeName.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      checkTypeLexEnabled();
      saveType();
      updateTypeListName();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      checkTypeLexEnabled();
      saveType();
      updateTypeListName();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      checkTypeLexEnabled();
      saveType();
      updateTypeListName();
    }
  }
);
  txtTypesNotes.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveType();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveType();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveType();
    }
  }
);
  txtGenderName.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      if (curPopulating)       return;
      checkGenderLexEnabled();
      saveGender();
      updateGenderListName();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      if (curPopulating)       return;
      checkGenderLexEnabled();
      saveGender();
      updateGenderListName();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      if (curPopulating)       return;
      checkGenderLexEnabled();
      saveGender();
      updateGenderListName();
    }
  }
);
  txtGenderNotes.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveGender();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveGender();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveGender();
    }
  }
);
  txtLangName.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      core.getPropertiesManager().setLangName(txtLangName.getText());
      setTitle(screenTitle + "String_Node_Str" + core.getVersion()+ "String_Node_Str"+ txtLangName.getText());
    }
    @Override public void removeUpdate(    DocumentEvent e){
      core.getPropertiesManager().setLangName(txtLangName.getText());
      setTitle(screenTitle + "String_Node_Str" + core.getVersion()+ "String_Node_Str"+ txtLangName.getText());
    }
    @Override public void insertUpdate(    DocumentEvent e){
      core.getPropertiesManager().setLangName(txtLangName.getText());
      setTitle(screenTitle + "String_Node_Str" + core.getVersion()+ "String_Node_Str"+ txtLangName.getText());
    }
  }
);
}

Fixed version (ground truth):
private void setupListeners(){
  txtConWordProp.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveModWord();
      generatePronunciation();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveModWord();
      generatePronunciation();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveModWord();
      generatePronunciation();
    }
  }
);
  txtDefProp.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveModWord();
    }
  }
);
  txtLocalWordProp.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveModWord();
    }
  }
);
  txtPluralProp.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveModWord();
    }
  }
);
  txtPronunciationProp.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveModWord();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveModWord();
    }
  }
);
  txtAlphaOrder.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      core.getPropertiesManager().setAlphaOrder(txtAlphaOrder.getText());
    }
    @Override public void removeUpdate(    DocumentEvent e){
      core.getPropertiesManager().setAlphaOrder(txtAlphaOrder.getText());
    }
    @Override public void insertUpdate(    DocumentEvent e){
      core.getPropertiesManager().setAlphaOrder(txtAlphaOrder.getText());
    }
  }
);
  txtConWordFilter.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
  }
);
  txtDefFilter.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
  }
);
  txtLocalWordFilter.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
  }
);
  txtPronunciationFilter.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      if (filterListenersActive)       filterDict();
    }
  }
);
  txtTypeName.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      checkTypeLexEnabled();
      saveType();
      updateTypeListName();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      checkTypeLexEnabled();
      saveType();
      updateTypeListName();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      checkTypeLexEnabled();
      saveType();
      updateTypeListName();
    }
  }
);
  txtTypesNotes.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveType();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveType();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveType();
    }
  }
);
  txtGenderName.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      if (curPopulating)       return;
      checkGenderLexEnabled();
      saveGender();
      updateGenderListName();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      if (curPopulating)       return;
      checkGenderLexEnabled();
      saveGender();
      updateGenderListName();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      if (curPopulating)       return;
      checkGenderLexEnabled();
      saveGender();
      updateGenderListName();
    }
  }
);
  txtGenderNotes.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      saveGender();
    }
    @Override public void removeUpdate(    DocumentEvent e){
      saveGender();
    }
    @Override public void insertUpdate(    DocumentEvent e){
      saveGender();
    }
  }
);
  txtLangName.getDocument().addDocumentListener(new DocumentListener(){
    @Override public void changedUpdate(    DocumentEvent e){
      core.getPropertiesManager().setLangName(txtLangName.getText());
      setTitle(screenTitle + "String_Node_Str" + core.getVersion()+ "String_Node_Str"+ txtLangName.getText());
    }
    @Override public void removeUpdate(    DocumentEvent e){
      core.getPropertiesManager().setLangName(txtLangName.getText());
      setTitle(screenTitle + "String_Node_Str" + core.getVersion()+ "String_Node_Str"+ txtLangName.getText());
    }
    @Override public void insertUpdate(    DocumentEvent e){
      core.getPropertiesManager().setLangName(txtLangName.getText());
      setTitle(screenTitle + "String_Node_Str" + core.getVersion()+ "String_Node_Str"+ txtLangName.getText());
    }
  }
);
}