Program: 167188
Project: 167188
Buggy source:
/** 
 * populates properties of currently selected word
 */
private void populateProperties(){
  ConWord curWord=(ConWord)lstLexicon.getSelectedValue();
  boolean localPopulating=curPopulating;
  curPopulating=true;
  try {
    if (curWord == null) {
      if (!namePopulating) {
        namePopulating=true;
        txtConWord.setText(defConValue);
        namePopulating=false;
      }
      txtDefinition.setText(defDefValue);
      txtLocalWord.setText(defLocalValue);
      txtProc.setText(defProcValue);
      cmbGender.setSelectedItem(defGenderValue);
      cmbType.setSelectedItem(defTypeValue);
      chkProcOverride.setSelected(false);
      chkRuleOverride.setSelected(false);
      setPropertiesEnabled(false);
    }
 else {
      if (!namePopulating) {
        namePopulating=true;
        txtConWord.setText(curWord.getValue());
        namePopulating=false;
      }
      txtDefinition.setText(curWord.getDefinition().equals("String_Node_Str") ? defDefValue : curWord.getDefinition());
      txtLocalWord.setText(curWord.getLocalWord().equals("String_Node_Str") ? defLocalValue : curWord.getLocalWord());
      txtProc.setText(curWord.getPronunciation().equals("String_Node_Str") ? defProcValue : curWord.getPronunciation());
      cmbGender.setSelectedItem(curWord.getGender().equals("String_Node_Str") ? defGenderValue : core.getGenders().findGenderByName(curWord.getGender()));
      cmbType.setSelectedItem(curWord.getWordType().equals("String_Node_Str") ? defTypeValue : core.getTypes().findTypeByName(curWord.getWordType()));
      chkProcOverride.setSelected(curWord.isProcOverride());
      chkRuleOverride.setSelected(curWord.isRulesOverrride());
      setPropertiesEnabled(true);
    }
  }
 catch (  Exception e) {
    InfoBox.error("String_Node_Str","String_Node_Str" + e.getLocalizedMessage(),this);
  }
  setAllGreyProps();
  curPopulating=localPopulating;
}

Fixed version (ground truth):
/** 
 * populates properties of currently selected word
 */
private void populateProperties(){
  ConWord curWord=(ConWord)lstLexicon.getSelectedValue();
  boolean localPopulating=curPopulating;
  curPopulating=true;
  try {
    if (curWord == null) {
      if (!namePopulating) {
        namePopulating=true;
        txtConWord.setText(defConValue);
        namePopulating=false;
      }
      txtDefinition.setText(defDefValue);
      txtLocalWord.setText(defLocalValue);
      txtProc.setText(defProcValue);
      cmbGender.setSelectedItem(defGenderValue);
      cmbType.setSelectedItem(defTypeValue);
      chkProcOverride.setSelected(false);
      chkRuleOverride.setSelected(false);
      setPropertiesEnabled(false);
    }
 else {
      if (!namePopulating) {
        namePopulating=true;
        txtConWord.setText(curWord.getValue());
        namePopulating=false;
      }
      txtDefinition.setText(curWord.getDefinition().equals("String_Node_Str") ? defDefValue : curWord.getDefinition());
      txtLocalWord.setText(curWord.getLocalWord().equals("String_Node_Str") ? defLocalValue : curWord.getLocalWord());
      txtProc.setText(curWord.getPronunciation().equals("String_Node_Str") ? defProcValue : curWord.getPronunciation());
      GenderNode gender=core.getGenders().findGenderByName(curWord.getGender());
      cmbGender.setSelectedItem(gender == null ? defGenderValue : gender);
      TypeNode type=core.getTypes().findTypeByName(curWord.getWordType());
      cmbType.setSelectedItem(type == null ? defTypeValue : type);
      chkProcOverride.setSelected(curWord.isProcOverride());
      chkRuleOverride.setSelected(curWord.isRulesOverrride());
      setPropertiesEnabled(true);
    }
  }
 catch (  Exception e) {
    InfoBox.error("String_Node_Str","String_Node_Str" + e.getLocalizedMessage(),this);
  }
  setAllGreyProps();
  curPopulating=localPopulating;
}