Program: 96627
Project: 96627
Buggy source:
@Override public void createPartControl(Composite parent){
  Composite body=new Composite(parent,SWT.NONE);
  GridLayout layout=new GridLayout(1,false);
  layout.marginHeight=0;
  layout.marginWidth=0;
  layout.horizontalSpacing=0;
  layout.verticalSpacing=0;
  layout.numColumns=1;
  body.setLayout(layout);
  Composite composite=new Composite(body,SWT.NONE);
  composite.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true));
  stackLayout=new StackLayout();
  composite.setLayout(stackLayout);
  composite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
  createMessage(composite);
  createViewer(composite);
  initActions();
  createPopupMenu(body);
  contributeToActionBars();
  toolTip=new BuildToolTip(getViewer().getControl());
  toolTip.setViewer(viewer);
  IWorkbenchSiteProgressService progress=(IWorkbenchSiteProgressService)getSite().getAdapter(IWorkbenchSiteProgressService.class);
  if (progress != null) {
    progress.showBusyForFamily(BuildsConstants.JOB_FAMILY);
  }
  model=BuildsUiInternal.getModel();
  modelListener=new BuildModelContentAdapter(){
    @Override public void doNotifyChanged(    Notification msg){
      if (!viewer.getControl().isDisposed()) {
        lastRefresh=new Date();
        updateContents(Status.OK_STATUS);
      }
    }
  }
;
  model.eAdapters().add(modelListener);
  if (stateMemento != null) {
    restoreState(stateMemento);
    stateMemento=null;
  }
  serviceMessageControl=new BuildsServiceMessageControl(body);
  viewer.setInput(model);
  viewer.setSorter(new BuildTreeSorter());
  viewer.expandAll();
  installAutomaticResize(viewer.getTree());
  getSite().setSelectionProvider(viewer);
  getSite().getSelectionProvider().addSelectionChangedListener(propertiesAction);
  propertiesAction.selectionChanged((IStructuredSelection)getSite().getSelectionProvider().getSelection());
  updateContents(Status.OK_STATUS);
  new TreeViewerSupport(viewer,getStateFile());
  NotificationSinkProxy.setControl(serviceMessageControl);
}

Fixed version (ground truth):
@Override public void createPartControl(Composite parent){
  Composite body=new Composite(parent,SWT.NONE);
  GridLayout layout=new GridLayout(1,false);
  layout.marginHeight=0;
  layout.marginWidth=0;
  layout.horizontalSpacing=0;
  layout.verticalSpacing=0;
  layout.numColumns=1;
  body.setLayout(layout);
  Composite composite=new Composite(body,SWT.NONE);
  composite.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true));
  stackLayout=new StackLayout();
  composite.setLayout(stackLayout);
  composite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
  createMessage(composite);
  createViewer(composite);
  initActions();
  createPopupMenu(body);
  contributeToActionBars();
  toolTip=new BuildToolTip(getViewer().getControl());
  toolTip.setViewer(viewer);
  IWorkbenchSiteProgressService progress=(IWorkbenchSiteProgressService)getSite().getAdapter(IWorkbenchSiteProgressService.class);
  if (progress != null) {
    progress.showBusyForFamily(BuildsConstants.JOB_FAMILY);
  }
  model=BuildsUiInternal.getModel();
  modelListener=new BuildModelContentAdapter(){
    @Override public void doNotifyChanged(    Notification msg){
      if (!viewer.getControl().isDisposed()) {
        lastRefresh=new Date();
        updateContents(Status.OK_STATUS);
      }
    }
  }
;
  model.eAdapters().add(modelListener);
  if (stateMemento != null) {
    restoreState(stateMemento);
    stateMemento=null;
  }
  serviceMessageControl=new BuildsServiceMessageControl(body);
  viewer.setInput(model);
  viewer.setSorter(new BuildTreeSorter());
  viewer.expandAll();
  installAutomaticResize(viewer.getTree());
  getSite().setSelectionProvider(viewer);
  getSite().getSelectionProvider().addSelectionChangedListener(propertiesAction);
  propertiesAction.selectionChanged((IStructuredSelection)getSite().getSelectionProvider().getSelection());
  updateContents(Status.OK_STATUS);
  treeViewerSupport=new TreeViewerSupport(viewer,getStateFile());
  NotificationSinkProxy.setControl(serviceMessageControl);
}