Program: 76661
Project: 76661
Buggy source:
/** 
 * @param composite
 */
private void createPluginViewer(Composite composite){
  fPluginTreeViewer=new CheckboxTreeViewer(composite,2048);
  fPluginTreeViewer.setContentProvider(new PluginContentProvider());
  fPluginTreeViewer.setLabelProvider(new PDELabelProvider(){
    public String getText(    Object obj){
      if (obj instanceof IProject) {
        return ((IProject)obj).getName();
      }
      if (obj instanceof IResource) {
        return ((IResource)obj).getName();
      }
      return super.getText(obj);
    }
  }
);
  fPluginTreeViewer.setAutoExpandLevel(2);
  fPluginTreeViewer.addCheckStateListener(new ICheckStateListener(){
    public void checkStateChanged(    final CheckStateChangedEvent event){
      Object element=event.getElement();
      if (element instanceof IPluginModelBase) {
        handleCheckStateChanged((IPluginModelBase)element,event.getChecked());
      }
 else {
        handleGroupStateChanged(element,event.getChecked());
      }
      updateLaunchConfigurationDialog();
    }
  }
);
  fPluginTreeViewer.setSorter(new ListUtil.PluginSorter(){
    public int category(    Object obj){
      for (int i=0; i < fWorkspacePlugins.length; i++) {
        if (obj == fWorkspacePlugins[i])         return -1;
      }
      return 0;
    }
  }
);
  fPluginTreeViewer.getTree().setLayoutData(new GridData(1808));
  Image pluginsImage=PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_REQ_PLUGINS_OBJ);
  fWorkspacePlugins=new NamedElement[]{new NamedElement(Messages.getString("String_Node_Str"),pluginsImage),new NamedElement(Messages.getString("String_Node_Str"),pluginsImage)};
}

Fixed version (ground truth):
/** 
 * @param composite
 */
private void createPluginViewer(Composite composite){
  fPluginTreeViewer=new CheckboxTreeViewer(composite,2048);
  fPluginTreeViewer.setContentProvider(new PluginContentProvider());
  fPluginTreeViewer.setLabelProvider(new PDELabelProvider(){
    public String getText(    Object obj){
      if (obj instanceof IProject) {
        return ((IProject)obj).getName();
      }
      if (obj instanceof IResource) {
        return ((IResource)obj).getName();
      }
      return super.getText(obj);
    }
  }
);
  fPluginTreeViewer.setAutoExpandLevel(2);
  fPluginTreeViewer.addCheckStateListener(new ICheckStateListener(){
    public void checkStateChanged(    final CheckStateChangedEvent event){
      Object element=event.getElement();
      if (element instanceof IPluginModelBase) {
        handleCheckStateChanged((IPluginModelBase)element,event.getChecked());
      }
 else {
        handleGroupStateChanged(element,event.getChecked());
      }
      updateLaunchConfigurationDialog();
    }
  }
);
  fPluginTreeViewer.setComparator(new ListUtil.PluginComparator(){
    public int category(    Object obj){
      for (int i=0; i < fWorkspacePlugins.length; i++) {
        if (obj == fWorkspacePlugins[i])         return -1;
      }
      return 0;
    }
  }
);
  fPluginTreeViewer.getTree().setLayoutData(new GridData(1808));
  Image pluginsImage=PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_REQ_PLUGINS_OBJ);
  fWorkspacePlugins=new NamedElement[]{new NamedElement(Messages.getString("String_Node_Str"),pluginsImage),new NamedElement(Messages.getString("String_Node_Str"),pluginsImage)};
}