Buggy code:
void createItem ( CTabItem item , int index ) { } void destroyItem ( CTabItem item ) { } void drawBackground ( GC gc , int [ ] shape , boolean selected ) { } void drawBackground ( GC gc , int [ ] shape , int x , int y , int width , int height , Color defaultBackground , Image image , Color [ ] colors , int [ ] percents , boolean vertical ) { } void drawBody ( Event event ) { } void drawChevron ( GC gc ) { } void drawMaximize ( GC gc ) { } void drawMinimize ( GC gc ) { } void drawTabArea ( Event event ) { } public boolean getBorderVisible ( ) { } public Rectangle getClientArea ( ) { } public CTabItem getItem ( int index ) { } public CTabItem getItem ( Point pt ) { } public int getItemCount ( ) { } public CTabItem [ ] getItems ( ) { } char _findMnemonic ( String string ) { } public boolean getMinimized ( ) { } public boolean getMinimizeVisible ( ) { } public int getMinimumCharacters ( ) { } public boolean getMaximized ( ) { } public boolean getMaximizeVisible ( ) { } public boolean getMRUVisible ( ) { } int getRightItemEdge ( ) { } public CTabItem getSelection ( ) { } public Color getSelectionBackground ( ) { } public Color getSelectionForeground ( ) { } public int getSelectionIndex ( ) { } public boolean getSimple ( ) { } public boolean getSingle ( ) { } public int getStyle ( ) { } public int getTabHeight ( ) { } public int getTabPosition ( ) { } public Control getTopRight ( ) { } public boolean getUnselectedCloseVisible ( ) { } public boolean getUnselectedImageVisible ( ) { } public int indexOf ( CTabItem item ) { } void initAccessible ( ) { } void onKeyDown ( Event event ) { } void onDispose ( ) { } void onDragDetect ( Event event ) { } void onFocus ( Event event ) { } boolean onMnemonic ( Event event ) { } void onMouseDoubleClick ( Event event ) { } void onMouseHover ( Event event ) { } void onMouse ( Event event ) { } boolean onPageTraversal ( Event event ) { } void onPaint ( Event event ) { } void onResize ( ) { } void onTraverse ( Event event ) { } void redrawTabs ( ) { } public void removeCTabFolder2Listener ( CTabFolder2Listener listener ) { } public void removeCTabFolderListener ( CTabFolderListener listener ) { } public void removeSelectionListener ( SelectionListener listener ) { } public void setBackground ( Color color ) { } void setBackground ( Color [ ] colors , int [ ] percents ) { } void setBackground ( Color [ ] colors , int [ ] percents , boolean vertical ) { } void setBackground ( Image image ) { } public void setBorderVisible ( boolean show ) { } void setButtonBounds ( ) { } public void setFont ( Font font ) { } public void setForeground ( Color color ) { } public void setInsertMark ( CTabItem item , boolean after ) { } public void setInsertMark ( int index , boolean after ) { } boolean setItemLocation ( ) { } boolean setItemSize ( ) { } public void setMaximizeVisible ( boolean visible ) { } public void setLayout ( Layout layout ) { } public void setMaximized ( boolean maximize ) { } public void setMinimizeVisible ( boolean visible ) { } public void setMinimized ( boolean minimize ) { } public void setMinimumCharacters ( int count ) { } public void setMRUVisible ( boolean show ) { } public void setSelection ( CTabItem item ) { } public void setSelection ( int index ) { } void setSelection ( int index , boolean notify ) { } public void setSelectionBackground ( Color color ) { } public void setSelectionBackground ( Color [ ] colors , int [ ] percents ) { } public void setSelectionBackground ( Color [ ] colors , int [ ] percents , boolean vertical ) { } public void setSelectionBackground ( Image image ) { } public void setSelectionForeground ( Color color ) { } public void setSimple ( boolean simple ) { } public void setSingle ( boolean single ) { } public void setTabHeight ( int height ) { } public void setTabPosition ( int position ) { } public void setTopRight ( Control control ) { } public void setTopRight ( Control control , int alignment ) { } public void setUnselectedCloseVisible ( boolean visible ) { } public void setUnselectedImageVisible ( boolean visible ) { } public void showItem ( CTabItem item ) { } void showList ( Rectangle rect ) { } public void showSelection ( ) { } void hideToolTip ( ) { } void showToolTip ( int x , int y ) { if ( ( toolTipShell ) == null ) { <START_BUG> toolTipShell = new Shell ( getShell ( ) , SWT . ON_TOP ) ; <END_BUG> toolTipLabel = new Label ( toolTipShell , SWT . CENTER ) ; Display display = toolTipShell . getDisplay ( ) ; toolTipLabel . setForeground ( display . getSystemColor ( COLOR_INFO_FOREGROUND ) ) ; toolTipLabel . setBackground ( display . getSystemColor ( COLOR_INFO_BACKGROUND ) ) ; for ( int i = 0 ; i < ( toolTipEvents . length ) ; i ++ ) { addListener ( toolTipEvents [ i ] , toolTipListener ) ; } } if ( updateToolTip ( x , y ) ) { toolTipShell . setVisible ( true ) ; } else { hideToolTip ( ) ; } } boolean updateItems ( ) { } boolean updateTabHeight ( boolean force ) { } String _getToolTip ( int x , int y ) { } boolean updateToolTip ( int x , int y ) { } }

Fix:
toolTipShell = new Shell ( getShell ( ) , ( ( SWT . ON_TOP ) | ( SWT . TOOL ) ) ) ;