Program: 66376
Project: 66376
Buggy source:
public void handleEvent(Event event){
  if (event.widget.equals(catLabelAttr)) {
    boolean isUnset=(event.detail == ChartElementUtil.PROPERTY_UNSET);
switch (event.type) {
case LabelAttributesComposite.VISIBILITY_CHANGED_EVENT:
      ChartElementUtil.setEObjectAttribute(series.getCatLabel(),"String_Node_Str",((Boolean)event.data).booleanValue(),isUnset);
    break;
case LabelAttributesComposite.FONT_CHANGED_EVENT:
  series.getCatLabel().getCaption().setFont((FontDefinition)((Object[])event.data)[0]);
series.getCatLabel().getCaption().setColor((ColorDefinition)((Object[])event.data)[1]);
break;
case LabelAttributesComposite.BACKGROUND_CHANGED_EVENT:
series.getCatLabel().setBackground((Fill)event.data);
break;
case LabelAttributesComposite.SHADOW_CHANGED_EVENT:
series.getCatLabel().setShadowColor((ColorDefinition)event.data);
break;
case LabelAttributesComposite.OUTLINE_STYLE_CHANGED_EVENT:
ChartElementUtil.setEObjectAttribute(series.getCatLabel().getOutline(),"String_Node_Str",(LineStyle)event.data,isUnset);
break;
case LabelAttributesComposite.OUTLINE_WIDTH_CHANGED_EVENT:
ChartElementUtil.setEObjectAttribute(series.getCatLabel().getOutline(),"String_Node_Str",((Integer)event.data).intValue(),isUnset);
break;
case LabelAttributesComposite.OUTLINE_COLOR_CHANGED_EVENT:
series.getCatLabel().getOutline().setColor((ColorDefinition)event.data);
break;
case LabelAttributesComposite.OUTLINE_VISIBILITY_CHANGED_EVENT:
ChartElementUtil.setEObjectAttribute(series.getCatLabel().getOutline(),"String_Node_Str",((Boolean)event.data).booleanValue(),isUnset);
break;
case LabelAttributesComposite.INSETS_CHANGED_EVENT:
series.getCatLabel().setInsets((Insets)event.data);
break;
}
}
 else if (event.widget.equals(btnCatLabels)) {
ChartElementUtil.setEObjectAttribute(series,"String_Node_Str",btnCatLabels.getSelectionState() == TristateCheckbox.STATE_SELECTED,btnCatLabels.getSelectionState() == TristateCheckbox.STATE_GRAYED);
boolean enabled=series.isSetShowCatLabels() && series.isShowCatLabels();
catLabelAttr.setEnabled(enabled);
btnCLFormatSpecifier.setEnabled(enabled);
}
 else if (event.widget.equals(btnCLFormatSpecifier)) {
FormatSpecifier formatspecifier=null;
if (series.getCatLabelFormatSpecifier() != null) {
formatspecifier=series.getCatLabelFormatSpecifier();
}
FormatSpecifierDialog editor=new FormatSpecifierDialog(cmpContent.getShell(),formatspecifier,new AxisType[]{AxisType.LINEAR_LITERAL,AxisType.TEXT_LITERAL,AxisType.DATE_TIME_LITERAL},Messages.getString("String_Node_Str"));
if (editor.open() == Window.OK) {
series.setCatLabelFormatSpecifier(editor.getFormatSpecifier());
}
}
}

Fixed version (ground truth):
public void handleEvent(Event event){
  if (event.widget.equals(catLabelAttr)) {
    boolean isUnset=(event.detail == ChartElementUtil.PROPERTY_UNSET);
switch (event.type) {
case LabelAttributesComposite.VISIBILITY_CHANGED_EVENT:
      ChartElementUtil.setEObjectAttribute(series.getCatLabel(),"String_Node_Str",((Boolean)event.data).booleanValue(),isUnset);
    break;
case LabelAttributesComposite.FONT_CHANGED_EVENT:
  series.getCatLabel().getCaption().setFont((FontDefinition)((Object[])event.data)[0]);
series.getCatLabel().getCaption().setColor((ColorDefinition)((Object[])event.data)[1]);
break;
case LabelAttributesComposite.BACKGROUND_CHANGED_EVENT:
series.getCatLabel().setBackground((Fill)event.data);
break;
case LabelAttributesComposite.SHADOW_CHANGED_EVENT:
series.getCatLabel().setShadowColor((ColorDefinition)event.data);
break;
case LabelAttributesComposite.OUTLINE_STYLE_CHANGED_EVENT:
ChartElementUtil.setEObjectAttribute(series.getCatLabel().getOutline(),"String_Node_Str",(LineStyle)event.data,isUnset);
break;
case LabelAttributesComposite.OUTLINE_WIDTH_CHANGED_EVENT:
ChartElementUtil.setEObjectAttribute(series.getCatLabel().getOutline(),"String_Node_Str",((Integer)event.data).intValue(),isUnset);
break;
case LabelAttributesComposite.OUTLINE_COLOR_CHANGED_EVENT:
series.getCatLabel().getOutline().setColor((ColorDefinition)event.data);
break;
case LabelAttributesComposite.OUTLINE_VISIBILITY_CHANGED_EVENT:
ChartElementUtil.setEObjectAttribute(series.getCatLabel().getOutline(),"String_Node_Str",((Boolean)event.data).booleanValue(),isUnset);
break;
case LabelAttributesComposite.INSETS_CHANGED_EVENT:
series.getCatLabel().setInsets((Insets)event.data);
break;
}
}
 else if (event.widget.equals(btnCatLabels)) {
ChartElementUtil.setEObjectAttribute(series,"String_Node_Str",btnCatLabels.getSelectionState() == TristateCheckbox.STATE_SELECTED,btnCatLabels.getSelectionState() == TristateCheckbox.STATE_GRAYED);
boolean enabled=series.isSetShowCatLabels() && series.isShowCatLabels();
catLabelAttr.setEnabled(enabled);
btnCLFormatSpecifier.setEnabled(enabled);
}
 else if (event.widget.equals(btnCLFormatSpecifier)) {
FormatSpecifier formatspecifier=null;
if (series.getCatLabelFormatSpecifier() != null) {
formatspecifier=series.getCatLabelFormatSpecifier();
}
getContext().getUIServiceProvider().getFormatSpecifierHandler().handleFormatSpecifier(cmpContent.getShell(),Messages.getString("String_Node_Str"),new AxisType[]{AxisType.LINEAR_LITERAL,AxisType.TEXT_LITERAL,AxisType.DATE_TIME_LITERAL},formatspecifier,series,"String_Node_Str",getContext());
}
}