Buggy code:
public class Table extends Composite { TableItem [ ] items ; TableColumn [ ] columns ; TableColumn sortColumn ; TableItem currentItem ; NSTableHeaderView headerView ; NSTableColumn firstColumn ; NSTableColumn checkColumn ; NSTextFieldCell dataCell ; NSButtonCell buttonCell ; int columnCount ; int itemCount ; int lastIndexOf ; int sortDirection ; boolean ignoreSelect ; boolean fixScrollWidth ; Rectangle imageBounds ; static final int FIRST_COLUMN_MINIMUM_WIDTH = 5 ; static final int IMAGE_GAP = 3 ; static final int TEXT_GAP = 2 ; static final int CELL_GAP = 1 ; public Table ( Composite parent , int style ) { } int accessibilityAttributeValue ( int id , int sel , int arg0 ) { } void _addListener ( int eventType , Listener listener ) { } public void addSelectionListener ( SelectionListener listener ) { } TableItem _getItem ( int index ) { } int calculateWidth ( TableItem [ ] items , int index , GC gc ) { } NSSize cellSize ( int id , int sel ) { } boolean checkData ( TableItem item ) { } boolean checkData ( TableItem item , int index ) { } static int checkStyle ( int style ) { } protected void checkSubclass ( ) { } public void clear ( int index ) { } public void clear ( int start , int end ) { } public void clear ( int [ ] indices ) { } public void clearAll ( ) { } void clearCachedWidth ( TableItem [ ] items ) { } public Point computeSize ( int wHint , int hHint , boolean changed ) { checkWidget ( ) ; int width = 0 ; if ( wHint == ( SWT . DEFAULT ) ) { if ( ( columnCount ) != 0 ) { for ( int i = 0 ; i < ( columnCount ) ; i ++ ) { <START_BUG> width += ( columns [ i ] . getWidth ( ) ) + ( Table . CELL_GAP ) ; <END_BUG> } } else { GC gc = new GC ( this ) ; width += ( calculateWidth ( items , 0 , gc ) ) + ( Table . CELL_GAP ) ; gc . dispose ( ) ; } if ( ( ( style ) & ( SWT . CHECK ) ) != 0 ) width += getCheckColumnWidth ( ) ; } else { width = wHint ; } if ( width <= 0 ) width = DEFAULT_WIDTH ; int height = 0 ; if ( hHint == ( SWT . DEFAULT ) ) { height = ( ( itemCount ) * ( getItemHeight ( ) ) ) + ( getHeaderHeight ( ) ) ; } else { height = hHint ; } if ( height <= 0 ) height = DEFAULT_HEIGHT ; Rectangle rect = computeTrim ( 0 , 0 , width , height ) ; return new Point ( rect . width , rect . height ) ; } void createColumn ( TableItem item , int index ) { } void createHandle ( ) { } void createItem ( TableColumn column , int index ) { } void createItem ( TableItem item , int index ) { } void createWidget ( ) { } Color defaultBackground ( ) { } NSFont defaultNSFont ( ) { } Color defaultForeground ( ) { } void deregister ( ) { } public void deselect ( int index ) { } public void deselect ( int start , int end ) { } public void deselect ( int [ ] indices ) { } public void deselectAll ( ) { } void destroyItem ( TableColumn column ) { } void destroyItem ( TableItem item ) { } boolean dragDetect ( int x , int y , boolean filter , boolean [ ] consume ) { } void drawWithFrame_inView ( int id , int sel , int cellFrame , int view ) { } void drawInteriorWithFrame_inView ( int id , int sel , int cellFrame , int view ) { } void drawRect ( int id , int sel , NSRect rect ) { } Widget findTooltip ( NSPoint pt ) { } void fixSelection ( int index , boolean add ) { } int getCheckColumnWidth ( ) { } public Rectangle getClientArea ( ) { } TableColumn getColumn ( id id ) { } public TableColumn getColumn ( int index ) { } public int getColumnCount ( ) { } public int [ ] getColumnOrder ( ) { } public TableColumn [ ] getColumns ( ) { } public int getGridLineWidth ( ) { } public int getHeaderHeight ( ) { } public boolean getHeaderVisible ( ) { } public TableItem getItem ( int index ) { } public TableItem getItem ( Point point ) { } public int getItemCount ( ) { } public int getItemHeight ( ) { } public TableItem [ ] getItems ( ) { } public boolean getLinesVisible ( ) { } public TableItem [ ] getSelection ( ) { } public int getSelectionCount ( ) { } public int getSelectionIndex ( ) { } public int [ ] getSelectionIndices ( ) { } public TableColumn getSortColumn ( ) { } public int getSortDirection ( ) { } public int getTopIndex ( ) { } void highlightSelectionInClipRect ( int id , int sel , int rect ) { } int hitTestForEvent ( int id , int sel , int event , NSRect rect , int controlView ) { } int image ( int id , int sel ) { } NSRect imageRectForBounds ( int id , int sel , NSRect cellFrame ) { } public int indexOf ( TableColumn column ) { } public int indexOf ( TableItem item ) { } public boolean isSelected ( int index ) { } boolean isTrim ( NSView view ) { } int menuForEvent ( int id , int sel , int theEvent ) { } int nextState ( int id , int sel ) { }

Fix:
width += columns [ i ] . getWidth ( ) ;