Program: 136697
Project: 136697
Buggy source:
/** 
 * Creates the results tabs in the bottom half
 * @param parent
 * @return
 */
private CTabFolder createResultTabs(Composite parent){
  tabFolder=new CTabFolder(parent,SWT.TOP | SWT.CLOSE);
  tabFolder.setBorderVisible(true);
  tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
  Display display=getSite().getShell().getDisplay();
  tabFolder.setSelectionBackground(new Color[]{display.getSystemColor(SWT.COLOR_WHITE),new Color(null,211,225,250),new Color(null,175,201,246),IConstants.TAB_BORDER_COLOR},new int[]{25,50,75},true);
  messagesTab=new CTabItem(tabFolder,SWT.NONE);
  messagesTab.setText(Messages.getString("String_Node_Str"));
  messagesTable=new Table(tabFolder,SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
  messagesTab.setControl(messagesTable);
  messagesTable.setLinesVisible(true);
  messagesTable.setHeaderVisible(true);
  messagesTable.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      super.widgetSelected(e);
      Message message=(Message)((TableItem)e.item).getData();
      setCursorPosition(message.getLineNo(),message.getCharNo());
    }
  }
);
  TableColumn col=new TableColumn(messagesTable,SWT.NONE);
  col.setText(Messages.getString("String_Node_Str"));
  col.pack();
  col=new TableColumn(messagesTable,SWT.NONE);
  col.setText(Messages.getString("String_Node_Str"));
  col.pack();
  col=new TableColumn(messagesTable,SWT.NONE);
  col.setText(Messages.getString("String_Node_Str"));
  col.pack();
  col=new TableColumn(messagesTable,SWT.NONE);
  col.setText(Messages.getString("String_Node_Str"));
  col.pack();
  tabFolder.setSelection(messagesTab);
  tabFolder.addCTabFolder2Listener(new CTabFolder2Adapter(){
    @Override public void close(    CTabFolderEvent event){
      super.close(event);
      CTabItem tabItem=(CTabItem)event.item;
      event.doit=onCloseTab(tabItem);
    }
  }
);
  return tabFolder;
}

Fixed version (ground truth):
/** 
 * Creates the results tabs in the bottom half
 * @param parent
 * @return
 */
private CTabFolder createResultTabs(Composite parent){
  tabFolder=new CTabFolder(parent,SWT.TOP | SWT.CLOSE);
  tabFolder.setBorderVisible(true);
  tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
  Display display=getSite().getShell().getDisplay();
  tabFolder.setSelectionBackground(new Color[]{display.getSystemColor(SWT.COLOR_WHITE),firstColor,secondColor,IConstants.TAB_BORDER_COLOR},new int[]{25,50,75},true);
  messagesTab=new CTabItem(tabFolder,SWT.NONE);
  messagesTab.setText(Messages.getString("String_Node_Str"));
  messagesTable=new Table(tabFolder,SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
  messagesTab.setControl(messagesTable);
  messagesTable.setLinesVisible(true);
  messagesTable.setHeaderVisible(true);
  messagesTable.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      super.widgetSelected(e);
      Message message=(Message)((TableItem)e.item).getData();
      setCursorPosition(message.getLineNo(),message.getCharNo());
    }
  }
);
  TableColumn col=new TableColumn(messagesTable,SWT.NONE);
  col.setText(Messages.getString("String_Node_Str"));
  col.pack();
  col=new TableColumn(messagesTable,SWT.NONE);
  col.setText(Messages.getString("String_Node_Str"));
  col.pack();
  col=new TableColumn(messagesTable,SWT.NONE);
  col.setText(Messages.getString("String_Node_Str"));
  col.pack();
  col=new TableColumn(messagesTable,SWT.NONE);
  col.setText(Messages.getString("String_Node_Str"));
  col.pack();
  tabFolder.setSelection(messagesTab);
  tabFolder.addCTabFolder2Listener(new CTabFolder2Adapter(){
    @Override public void close(    CTabFolderEvent event){
      super.close(event);
      CTabItem tabItem=(CTabItem)event.item;
      event.doit=onCloseTab(tabItem);
    }
  }
);
  return tabFolder;
}