Buggy code:
public class Table extends Composite { int gridViewHandle ; int parentingHandle ; int columnCount ; int itemCount ; boolean ignoreSelection ; static final String CHECKBOX_PART_NAME = "SWT_PART_CHECKBOX" ; static final String IMAGE_PART_NAME = "SWT_PART_IMAGE" ; static final String TEXT_PART_NAME = "SWT_PART_TEXT" ; static final int BACKGROUND_NOTIFY = 3 ; static final int CHECK_NOTIFY = 4 ; static final int FONT_NOTIFY = 5 ; static final int FOREGROUND_NOTIFY = 2 ; static final int IMAGE_NOTIFY = 1 ; static final int TEXT_NOTIFY = 0 ; public Table ( Composite parent , int style ) { } void _addListener ( int eventType , Listener listener ) { } public void addSelectionListener ( SelectionListener listener ) { } int backgroundProperty ( ) { } boolean checkData ( TableItem item ) { } 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 ( ) { } public Point computeSize ( int wHint , int hHint , boolean changed ) { } int createCellTemplate ( int index ) { } void createDefaultColumn ( ) { } void createHandle ( ) { } int createHeaderTemplate ( ) { } void createItem ( TableColumn column , int index ) { } void createItem ( TableItem item , int index ) { } void deregister ( ) { } public void deselect ( int [ ] indices ) { } public void deselect ( int index ) { } public void deselect ( int start , int end ) { } public void deselectAll ( ) { } void destroyItem ( TableColumn column ) { } void destroyItem ( TableItem item ) { } int GetBackground ( int itemHandle ) { } int GetCheck ( int itemHandle ) { } int GetFont ( int itemHandle ) { } int GetForeground ( int itemHandle ) { } int GetImage ( int itemHandle ) { } int GetText ( int itemHandle ) { } public TableColumn getColumn ( int index ) { } TableColumn getColumn ( int columns , int index ) { } void updateMoveable ( ) { } public int getColumnCount ( ) { } public int [ ] getColumnOrder ( ) { } public TableColumn [ ] getColumns ( ) { } public int getGridLineWidth ( ) { } public int getHeaderHeight ( ) { } public boolean getHeaderVisible ( ) { } public TableItem getItem ( int index ) { } TableItem getItem ( int items , int index , boolean create ) { } TableItem getItem ( int item , boolean create ) { } public TableItem getItem ( Point point ) { } public int getItemCount ( ) { } public int getItemHeight ( ) { checkWidget ( ) ; if ( ( itemCount ) == 0 ) return 16 ; int items = OS . ItemsControl_Items ( handle ) ; int item = OS . ItemCollection_GetItemAt ( items , 0 ) ; double height = OS . FrameworkElement_ActualHeight ( item ) ; OS . GCHandle_Free ( item ) ; OS . GCHandle_Free ( items ) ; <START_BUG> return ( ( int ) ( height ) ) ; <END_BUG> } 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 ( ) { } boolean hasItems ( ) { } void HandleChecked ( int sender , int e ) { } void HandleIndeterminate ( int sender , int e ) { } void HandleKeyDown ( int sender , int e ) { } void HandleMouseDoubleClick ( int sender , int e ) { } void HandleSelectionChanged ( int sender , int e ) { } void HandleUnchecked ( int sender , int e ) { } void hookEvents ( ) { } public int indexOf ( TableColumn column ) { } public int indexOf ( TableItem item ) { } public boolean isSelected ( int index ) { } int parentingHandle ( ) { } void register ( ) { } void releaseChildren ( boolean destroy ) { } void releaseHandle ( ) { } public void remove ( int [ ] indices ) { } public void remove ( int index ) { } public void remove ( int start , int end ) { } public void removeAll ( ) { } public void removeSelectionListener ( SelectionListener listener ) { } public void select ( int [ ] indices ) { } public void select ( int index ) { } public void select ( int start , int end ) { } public void selectAll ( ) { } int setBounds ( int x , int y , int width , int height , int flags ) { } public void setColumnOrder ( int [ ] order ) { } void setForegroundBrush ( int brush ) { } public void setHeaderVisible ( boolean show ) { } public void setItemCount ( int count ) { } void setItemHeight ( int itemHeight ) { } public void setLinesVisible ( boolean show ) { } public void setSelection ( int [ ] indices ) { } public void setSelection ( TableItem item ) { } public void setSelection ( TableItem [ ] items ) { } public void setSelection ( int index ) { } public void setSelection ( int start , int end ) { } public void setSortColumn ( TableColumn column ) { } public void setSortDirection ( int direction ) { } public void setTopIndex ( int index ) { }

Fix:
return height != 0 ? ( ( int ) ( height ) ) : 16 ;