Program: 70213
Project: 70213
Buggy source:
public void handleEvent(Event event){
  if (event.widget.equals(fdcFont)) {
    getLegend().getText().setFont((FontDefinition)((Object[])event.data)[0]);
    getLegend().getText().setColor((ColorDefinition)((Object[])event.data)[1]);
  }
 else   if (event.widget == spnEllipsis) {
    getLegend().setEllipsis(spnEllipsis.getSelection());
  }
 else   if (event.widget.equals(fccShadow)) {
    getLegend().getClientArea().setShadowColor((ColorDefinition)event.data);
  }
 else   if (event.widget.equals(fccBackground)) {
    getLegend().getClientArea().setBackground((ColorDefinition)event.data);
  }
 else   if (event.widget.equals(icText)) {
    getLegend().getClientArea().setInsets((Insets)event.data);
  }
 else   if (event.widget.equals(outlineText)) {
switch (event.type) {
case LineAttributesComposite.STYLE_CHANGED_EVENT:
      getLegend().getClientArea().getOutline().setStyle((LineStyle)event.data);
    break;
case LineAttributesComposite.WIDTH_CHANGED_EVENT:
  getLegend().getClientArea().getOutline().setThickness(((Integer)event.data).intValue());
break;
case LineAttributesComposite.COLOR_CHANGED_EVENT:
getLegend().getClientArea().getOutline().setColor((ColorDefinition)event.data);
break;
case LineAttributesComposite.VISIBILITY_CHANGED_EVENT:
getLegend().getClientArea().getOutline().setVisible(((Boolean)event.data).booleanValue());
break;
}
}
 else if (event.widget.equals(lineSeparator)) {
switch (event.type) {
case LineAttributesComposite.STYLE_CHANGED_EVENT:
getLegend().getSeparator().setStyle((LineStyle)event.data);
break;
case LineAttributesComposite.WIDTH_CHANGED_EVENT:
getLegend().getSeparator().setThickness(((Integer)event.data).intValue());
break;
case LineAttributesComposite.COLOR_CHANGED_EVENT:
getLegend().getSeparator().setColor((ColorDefinition)event.data);
break;
case LineAttributesComposite.VISIBILITY_CHANGED_EVENT:
getLegend().getSeparator().setVisible(((Boolean)event.data).booleanValue());
break;
}
}
 else if (event.widget.equals(btnFormatSpecifier)) {
FormatSpecifierDialog editor=new FormatSpecifierDialog(cmpContent.getShell(),getChart().getLegend().getFormatSpecifier(),Messages.getString("String_Node_Str"));
if (editor.open() == Window.OK) {
getChart().getLegend().setFormatSpecifier(editor.getFormatSpecifier());
fsp.updatePreview(editor.getFormatSpecifier());
}
}
}

Fixed version (ground truth):
public void handleEvent(Event event){
  if (event.widget.equals(fdcFont)) {
    getLegend().getText().setFont((FontDefinition)((Object[])event.data)[0]);
    getLegend().getText().setColor((ColorDefinition)((Object[])event.data)[1]);
  }
 else   if (event.widget == spnEllipsis) {
    getLegend().setEllipsis(spnEllipsis.getSelection());
  }
 else   if (event.widget.equals(fccShadow)) {
    getLegend().getClientArea().setShadowColor((ColorDefinition)event.data);
  }
 else   if (event.widget.equals(fccBackground)) {
    getLegend().getClientArea().setBackground((ColorDefinition)event.data);
  }
 else   if (event.widget.equals(icText)) {
    getLegend().getClientArea().setInsets((Insets)event.data);
  }
 else   if (event.widget.equals(outlineText)) {
switch (event.type) {
case LineAttributesComposite.STYLE_CHANGED_EVENT:
      getLegend().getClientArea().getOutline().setStyle((LineStyle)event.data);
    break;
case LineAttributesComposite.WIDTH_CHANGED_EVENT:
  getLegend().getClientArea().getOutline().setThickness(((Integer)event.data).intValue());
break;
case LineAttributesComposite.COLOR_CHANGED_EVENT:
getLegend().getClientArea().getOutline().setColor((ColorDefinition)event.data);
break;
case LineAttributesComposite.VISIBILITY_CHANGED_EVENT:
getLegend().getClientArea().getOutline().setVisible(((Boolean)event.data).booleanValue());
break;
}
}
 else if (event.widget.equals(lineSeparator)) {
switch (event.type) {
case LineAttributesComposite.STYLE_CHANGED_EVENT:
getLegend().getSeparator().setStyle((LineStyle)event.data);
break;
case LineAttributesComposite.WIDTH_CHANGED_EVENT:
getLegend().getSeparator().setThickness(((Integer)event.data).intValue());
break;
case LineAttributesComposite.COLOR_CHANGED_EVENT:
getLegend().getSeparator().setColor((ColorDefinition)event.data);
break;
case LineAttributesComposite.VISIBILITY_CHANGED_EVENT:
getLegend().getSeparator().setVisible(((Boolean)event.data).booleanValue());
break;
}
}
 else if (event.widget.equals(btnFormatSpecifier)) {
FormatSpecifierDialog editor=new FormatSpecifierDialog(cmpContent.getShell(),getChart().getLegend().getFormatSpecifier(),getEntryType(),Messages.getString("String_Node_Str"));
if (editor.open() == Window.OK) {
getChart().getLegend().setFormatSpecifier(editor.getFormatSpecifier());
fsp.updatePreview(editor.getFormatSpecifier());
}
}
}