Program: 76306
Project: 76306
Buggy source:
public void widgetSelected(SelectionEvent e){
  if (detachPopup(e.widget)) {
    return;
  }
  if (isRegistered(e.widget)) {
    attachPopup(((Button)e.widget).getText());
  }
  if (e.widget.equals(cmbTypes)) {
    final AxisType axisType=AxisType.getByName(LiteralHelper.axisTypeSet.getNameByDisplayName(cmbTypes.getText()));
    if (getAxisForProcessing().getType() == axisType) {
      return;
    }
    ChartAdapter.beginIgnoreNotifications();
{
      convertSampleData(axisType);
      getAxisForProcessing().setFormatSpecifier(null);
      EList markerLines=getAxisForProcessing().getMarkerLines();
      for (int i=0; i < markerLines.size(); i++) {
        ((MarkerLine)markerLines.get(i)).setFormatSpecifier(null);
      }
      EList markerRanges=getAxisForProcessing().getMarkerRanges();
      for (int i=0; i < markerRanges.size(); i++) {
        ((MarkerRange)markerRanges.get(i)).setFormatSpecifier(null);
      }
    }
    ChartAdapter.endIgnoreNotifications();
    getAxisForProcessing().setType(axisType);
    btnCategoryAxis.setEnabled(!AxisType.TEXT_LITERAL.equals(axisType));
    refreshPopupSheet();
  }
 else   if (e.widget.equals(cmbOrigin)) {
    if (LiteralHelper.intersectionTypeSet.getNameByDisplayName(cmbOrigin.getText()).equals(IntersectionType.VALUE_LITERAL.getName())) {
      lblValue.setEnabled(true);
      txtValue.setEnabled(true);
    }
 else {
      lblValue.setEnabled(false);
      txtValue.setEnabled(false);
    }
    getAxisForProcessing().getOrigin().setType(IntersectionType.getByName(LiteralHelper.intersectionTypeSet.getNameByDisplayName(cmbOrigin.getText())));
  }
 else   if (e.widget.equals(btnCategoryAxis)) {
    getAxisForProcessing().setCategoryAxis(btnCategoryAxis.getSelection());
  }
 else   if (e.widget.equals(btnTitleVisible)) {
    getAxisForProcessing().getTitle().setVisible(btnTitleVisible.getSelection());
    setStateOfTitle();
    if (!btnTitleVisible.getSelection() && btnAxisTitle.getSelection()) {
      btnAxisTitle.setSelection(false);
      detachPopup(btnAxisTitle);
    }
 else {
      refreshPopupSheet();
    }
  }
 else   if (e.widget.equals(btnLabelVisible)) {
    getAxisForProcessing().getLabel().setVisible(btnLabelVisible.getSelection());
    setStateOfLabel();
    if (!btnLabelVisible.getSelection() && btnAxisLabel.getSelection()) {
      btnAxisLabel.setSelection(false);
      detachPopup(btnAxisLabel);
    }
 else {
      refreshPopupSheet();
    }
  }
 else   if (e.widget.equals(btnFormatSpecifier)) {
    String sAxisTitle=Messages.getString("String_Node_Str");
    try {
      String sTitleString=getAxisForProcessing().getTitle().getCaption().getValue();
      int iSeparatorIndex=sTitleString.indexOf(ExternalizedTextEditorComposite.SEPARATOR);
      if (iSeparatorIndex > 0) {
        sTitleString=sTitleString.substring(iSeparatorIndex);
      }
 else       if (iSeparatorIndex == 0) {
        sTitleString=sTitleString.substring(ExternalizedTextEditorComposite.SEPARATOR.length());
      }
      sAxisTitle+="String_Node_Str" + sTitleString + "String_Node_Str";
    }
 catch (    NullPointerException e1) {
    }
    FormatSpecifier formatspecifier=null;
    if (getAxisForProcessing().getFormatSpecifier() != null) {
      formatspecifier=getAxisForProcessing().getFormatSpecifier();
    }
    FormatSpecifierDialog editor=new FormatSpecifierDialog(cmpContent.getShell(),formatspecifier,getAxisForProcessing().getType(),sAxisTitle);
    if (editor.open() == Window.OK) {
      if (editor.getFormatSpecifier() == null) {
        getAxisForProcessing().eUnset(ComponentPackage.eINSTANCE.getAxis_FormatSpecifier());
        return;
      }
      getAxisForProcessing().setFormatSpecifier(editor.getFormatSpecifier());
    }
  }
 else   if (e.getSource().equals(cbStaggered)) {
    getAxisForProcessing().setStaggered(cbStaggered.getSelection());
  }
}

Fixed version (ground truth):
public void widgetSelected(SelectionEvent e){
  if (detachPopup(e.widget)) {
    return;
  }
  if (isRegistered(e.widget)) {
    attachPopup(((Button)e.widget).getText());
  }
  if (e.widget.equals(cmbTypes)) {
    final AxisType axisType=AxisType.getByName(LiteralHelper.axisTypeSet.getNameByDisplayName(cmbTypes.getText()));
    if (getAxisForProcessing().getType() == axisType) {
      return;
    }
    ChartAdapter.beginIgnoreNotifications();
{
      convertSampleData(axisType);
      getAxisForProcessing().setFormatSpecifier(null);
      EList markerLines=getAxisForProcessing().getMarkerLines();
      for (int i=0; i < markerLines.size(); i++) {
        ((MarkerLine)markerLines.get(i)).setFormatSpecifier(null);
      }
      EList markerRanges=getAxisForProcessing().getMarkerRanges();
      for (int i=0; i < markerRanges.size(); i++) {
        ((MarkerRange)markerRanges.get(i)).setFormatSpecifier(null);
      }
    }
    ChartAdapter.endIgnoreNotifications();
    getAxisForProcessing().setType(axisType);
    btnCategoryAxis.setEnabled(!AxisType.TEXT_LITERAL.equals(axisType));
    refreshPopupSheet();
  }
 else   if (e.widget.equals(cmbOrigin)) {
    if (LiteralHelper.intersectionTypeSet.getNameByDisplayName(cmbOrigin.getText()).equals(IntersectionType.VALUE_LITERAL.getName())) {
      lblValue.setEnabled(true);
      txtValue.setEnabled(true);
    }
 else {
      lblValue.setEnabled(false);
      txtValue.setEnabled(false);
    }
    getAxisForProcessing().getOrigin().setType(IntersectionType.getByName(LiteralHelper.intersectionTypeSet.getNameByDisplayName(cmbOrigin.getText())));
  }
 else   if (e.widget.equals(btnCategoryAxis)) {
    getAxisForProcessing().setCategoryAxis(btnCategoryAxis.getSelection());
    refreshPopupSheet();
  }
 else   if (e.widget.equals(btnTitleVisible)) {
    getAxisForProcessing().getTitle().setVisible(btnTitleVisible.getSelection());
    setStateOfTitle();
    if (!btnTitleVisible.getSelection() && btnAxisTitle.getSelection()) {
      btnAxisTitle.setSelection(false);
      detachPopup(btnAxisTitle);
    }
 else {
      refreshPopupSheet();
    }
  }
 else   if (e.widget.equals(btnLabelVisible)) {
    getAxisForProcessing().getLabel().setVisible(btnLabelVisible.getSelection());
    setStateOfLabel();
    if (!btnLabelVisible.getSelection() && btnAxisLabel.getSelection()) {
      btnAxisLabel.setSelection(false);
      detachPopup(btnAxisLabel);
    }
 else {
      refreshPopupSheet();
    }
  }
 else   if (e.widget.equals(btnFormatSpecifier)) {
    String sAxisTitle=Messages.getString("String_Node_Str");
    try {
      String sTitleString=getAxisForProcessing().getTitle().getCaption().getValue();
      int iSeparatorIndex=sTitleString.indexOf(ExternalizedTextEditorComposite.SEPARATOR);
      if (iSeparatorIndex > 0) {
        sTitleString=sTitleString.substring(iSeparatorIndex);
      }
 else       if (iSeparatorIndex == 0) {
        sTitleString=sTitleString.substring(ExternalizedTextEditorComposite.SEPARATOR.length());
      }
      sAxisTitle+="String_Node_Str" + sTitleString + "String_Node_Str";
    }
 catch (    NullPointerException e1) {
    }
    FormatSpecifier formatspecifier=null;
    if (getAxisForProcessing().getFormatSpecifier() != null) {
      formatspecifier=getAxisForProcessing().getFormatSpecifier();
    }
    FormatSpecifierDialog editor=new FormatSpecifierDialog(cmpContent.getShell(),formatspecifier,getAxisForProcessing().getType(),sAxisTitle);
    if (editor.open() == Window.OK) {
      if (editor.getFormatSpecifier() == null) {
        getAxisForProcessing().eUnset(ComponentPackage.eINSTANCE.getAxis_FormatSpecifier());
        return;
      }
      getAxisForProcessing().setFormatSpecifier(editor.getFormatSpecifier());
    }
  }
 else   if (e.getSource().equals(cbStaggered)) {
    getAxisForProcessing().setStaggered(cbStaggered.getSelection());
  }
}