Program: 167226
Project: 167226
Buggy source:
private void saveModWord(){
  if (curPopulating) {
    return;
  }
  curPopulating=true;
  ConWord saveWord=new ConWord();
  Integer scrIndex=lstDict.getSelectedIndex();
  if (scrIndex == -1) {
    curPopulating=false;
    return;
  }
  Integer wordId=(Integer)scrToCoreMap.get(scrIndex);
  saveWord.setValue(txtConWordProp.getText());
  saveWord.setLocalWord(txtLocalWordProp.getText());
  saveWord.setWordType(scrTypeMap.containsKey(cmbTypeProp.getSelectedItem()) ? (String)cmbTypeProp.getSelectedItem() : "String_Node_Str");
  saveWord.setDefinition(txtDefProp.getText());
  saveWord.setPronunciation(txtPronunciationProp.getText());
  saveWord.setGender(scrGenderMap.containsKey(cmbGenderProp.getSelectedItem()) ? (String)cmbGenderProp.getSelectedItem() : "String_Node_Str");
  saveWord.setPlural(txtPluralProp.getText());
  saveWord.setProcOverride(chkPronunciationOverrideProp.isSelected());
  if (wordId == -1) {
    try {
      wordId=core.addWord(saveWord);
    }
 catch (    Exception e) {
      InfoBox.error("String_Node_Str","String_Node_Str" + saveWord.getValue() + "String_Node_Str"+ e.getMessage(),this);
    }
  }
 else {
    try {
      core.modifyWord(wordId,saveWord);
    }
 catch (    Exception e) {
      InfoBox.error("String_Node_Str","String_Node_Str" + saveWord.getValue() + "String_Node_Str"+ e.getMessage(),this);
    }
  }
  dListModel.remove(scrIndex);
  dListModel.add(scrIndex,saveWord.getValue());
  setLexPosition(scrIndex);
  scrToCoreMap.remove(scrIndex);
  scrToCoreMap.put(scrIndex,wordId);
  curPopulating=false;
  String wordLegal=core.isWordLegal(saveWord);
  txtWordErrorBox.setText(wordLegal);
  setLexiconEnabled(wordLegal.equals("String_Node_Str"));
  populateDict();
}

Fixed version (ground truth):
private void saveModWord(){
  if (curPopulating) {
    return;
  }
  clearLexFilterValues();
  curPopulating=true;
  ConWord saveWord=new ConWord();
  Integer scrIndex=lstDict.getSelectedIndex();
  if (scrIndex == -1) {
    curPopulating=false;
    return;
  }
  Integer wordId=(Integer)scrToCoreMap.get(scrIndex);
  saveWord.setValue(txtConWordProp.getText());
  saveWord.setLocalWord(txtLocalWordProp.getText());
  saveWord.setWordType(scrTypeMap.containsKey(cmbTypeProp.getSelectedItem()) ? (String)cmbTypeProp.getSelectedItem() : "String_Node_Str");
  saveWord.setDefinition(txtDefProp.getText());
  saveWord.setPronunciation(txtPronunciationProp.getText());
  saveWord.setGender(scrGenderMap.containsKey(cmbGenderProp.getSelectedItem()) ? (String)cmbGenderProp.getSelectedItem() : "String_Node_Str");
  saveWord.setPlural(txtPluralProp.getText());
  saveWord.setProcOverride(chkPronunciationOverrideProp.isSelected());
  if (wordId == -1) {
    try {
      wordId=core.addWord(saveWord);
    }
 catch (    Exception e) {
      InfoBox.error("String_Node_Str","String_Node_Str" + saveWord.getValue() + "String_Node_Str"+ e.getMessage(),this);
    }
  }
 else {
    try {
      core.modifyWord(wordId,saveWord);
    }
 catch (    Exception e) {
      InfoBox.error("String_Node_Str","String_Node_Str" + saveWord.getValue() + "String_Node_Str"+ e.getMessage(),this);
    }
  }
  dListModel.remove(scrIndex);
  dListModel.add(scrIndex,saveWord.getValue());
  setLexPosition(scrIndex);
  scrToCoreMap.remove(scrIndex);
  scrToCoreMap.put(scrIndex,wordId);
  curPopulating=false;
  String wordLegal=core.isWordLegal(saveWord);
  txtWordErrorBox.setText(wordLegal);
  setLexiconEnabled(wordLegal.equals("String_Node_Str"));
  populateDict();
}