Program: 97156
Project: 97156
Buggy source:
@Override protected Control createCustomArea(Composite parent){
  statusLabel=new Label(parent,SWT.NONE);
  statusLabel.setForeground(Displays.getSystemColor(SWT.COLOR_RED));
  createPreCustomArea(parent);
  Composite aiComp=new Composite(parent,SWT.NONE);
  aiComp.setLayout(ALayout.getZeroMarginLayout());
  aiComp.setLayoutData(new GridData(GridData.FILL_BOTH));
  treeViewer=new FilteredCheckboxTree(aiComp,SWT.CHECK | (multiSelect ? SWT.MULTI : SWT.NONE) | SWT.READ_ONLY| SWT.H_SCROLL| SWT.V_SCROLL| SWT.BORDER,patternFilter);
  GridData gd=new GridData(SWT.FILL,SWT.FILL,true,true);
  gd.heightHint=500;
  treeViewer.getViewer().getTree().setLayoutData(gd);
  treeViewer.getViewer().setContentProvider(contentProvider);
  treeViewer.getViewer().setLabelProvider(labelProvider);
  treeViewer.getViewer().setAutoExpandLevel(0);
  if (viewerSorter != null) {
    treeViewer.getViewer().setSorter(viewerSorter);
  }
  treeViewer.getViewer().addSelectionChangedListener(new ISelectionChangedListener(){
    @Override public void selectionChanged(    SelectionChangedEvent event){
      updateStatusLabel();
    }
  }
);
  if (input != null) {
    treeViewer.getViewer().setInput(input);
  }
  if (initialSelections != null) {
    getCheckboxTreeViewer().setCheckedElements(initialSelections.toArray());
  }
  updateStatusLabel();
  if (showSelectButtons) {
    Composite comp=new Composite(parent,SWT.NONE);
    comp.setLayout(new GridLayout(2,false));
    comp.setLayoutData(new GridData());
    Button selectAllButton=new Button(comp,SWT.PUSH);
    selectAllButton.setText("String_Node_Str");
    selectAllButton.addSelectionListener(new SelectionAdapter(){
      @Override public void widgetSelected(      SelectionEvent e){
        treeViewer.setCheckAll(true);
        updateStatusLabel();
      }
    }
);
    Button deSelectAllButton=new Button(comp,SWT.PUSH);
    deSelectAllButton.setText("String_Node_Str");
    deSelectAllButton.addSelectionListener(new SelectionAdapter(){
      @Override public void widgetSelected(      SelectionEvent e){
        treeViewer.setCheckAll(false);
        updateStatusLabel();
      }
    }
);
  }
  if (expandChecked) {
    getCheckboxTreeViewer().expandChecked();
  }
  createPostCustomArea(parent);
  return parent;
}

Fixed version (ground truth):
@Override protected Control createCustomArea(Composite parent){
  statusLabel=new Label(parent,SWT.NONE);
  statusLabel.setForeground(Displays.getSystemColor(SWT.COLOR_RED));
  createPreCustomArea(parent);
  Composite aiComp=new Composite(parent,SWT.NONE);
  aiComp.setLayout(ALayout.getZeroMarginLayout());
  aiComp.setLayoutData(new GridData(GridData.FILL_BOTH));
  treeViewer=new FilteredCheckboxTree(aiComp,SWT.CHECK | (multiSelect ? SWT.MULTI : SWT.NONE) | SWT.READ_ONLY| SWT.H_SCROLL| SWT.V_SCROLL| SWT.BORDER,patternFilter);
  GridData gd=new GridData(SWT.FILL,SWT.FILL,true,true);
  gd.heightHint=500;
  treeViewer.getViewer().getTree().setLayoutData(gd);
  treeViewer.getViewer().setContentProvider(contentProvider);
  treeViewer.getViewer().setLabelProvider(labelProvider);
  treeViewer.getViewer().setAutoExpandLevel(0);
  if (viewerSorter != null) {
    treeViewer.getViewer().setSorter(viewerSorter);
  }
  treeViewer.getViewer().addSelectionChangedListener(new ISelectionChangedListener(){
    @Override public void selectionChanged(    SelectionChangedEvent event){
      updateStatusLabel();
    }
  }
);
  if (selectables != null && !selectables.isEmpty()) {
    setInput(selectables);
    for (    Artifact selectable : selectables) {
      treeViewer.getCheckboxTreeViewer().getOrCreateItem(selectable);
    }
  }
  if (input != null) {
    treeViewer.getViewer().setInput(input);
  }
  if (initialSelections != null) {
    treeViewer.setInitalChecked(initialSelections);
  }
  updateStatusLabel();
  if (showSelectButtons) {
    Composite comp=new Composite(parent,SWT.NONE);
    comp.setLayout(new GridLayout(2,false));
    comp.setLayoutData(new GridData());
    Button selectAllButton=new Button(comp,SWT.PUSH);
    selectAllButton.setText("String_Node_Str");
    selectAllButton.addSelectionListener(new SelectionAdapter(){
      @Override public void widgetSelected(      SelectionEvent e){
        treeViewer.setCheckAll(true);
        updateStatusLabel();
      }
    }
);
    Button deSelectAllButton=new Button(comp,SWT.PUSH);
    deSelectAllButton.setText("String_Node_Str");
    deSelectAllButton.addSelectionListener(new SelectionAdapter(){
      @Override public void widgetSelected(      SelectionEvent e){
        treeViewer.setCheckAll(false);
        updateStatusLabel();
      }
    }
);
  }
  if (expandChecked) {
    getCheckboxTreeViewer().expandChecked();
  }
  createPostCustomArea(parent);
  return parent;
}