Buggy code:
boolean checkData ( TableItem item ) { } protected void checkSubclass ( ) { } public void addSelectionListener ( SelectionListener listener ) { } int calculateWidth ( int column , int iter ) { } public Point computeSize ( int wHint , int hHint , boolean changed ) { } public void clear ( int index ) { } public void clear ( int start , int end ) { } public void clear ( int [ ] indices ) { } public void clearAll ( ) { } void createColumn ( TableColumn column , int index ) { } void createHandle ( int index ) { } void createItem ( TableColumn column , int index ) { } void createItem ( TableItem item , int index ) { } void createRenderers ( int columnHandle , int modelIndex , boolean check , int columnStyle ) { } void createWidget ( int index ) { } GdkColor defaultBackground ( ) { } GdkColor 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 ) { } GdkColor getBackgroundColor ( ) { } public TableColumn getColumn ( int index ) { } public int getColumnCount ( ) { } int [ ] getColumnTypes ( int columnCount ) { } public int [ ] getColumnOrder ( ) { } public TableColumn [ ] getColumns ( ) { } TableItem getFocusItem ( ) { } GdkColor getForegroundColor ( ) { } 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 ( ) { } int getPixbufRenderer ( int column ) { } public TableItem [ ] getSelection ( ) { } public int getSelectionCount ( ) { } public int getSelectionIndex ( ) { } public int [ ] getSelectionIndices ( ) { } int getTextRenderer ( int column ) { } public int getTopIndex ( ) { } int gtk_button_press_event ( int widget , int event ) { } int gtk_button_release_event ( int widget , int event ) { } int gtk_changed ( int widget ) { } int gtk_key_press_event ( int widget , int eventPtr ) { } int gtk_motion_notify_event ( int widget , int event ) { } int gtk_row_activated ( int tree , int path , int column ) { } int gtk_toggled ( int renderer , int pathStr ) { } void hideFirstColumn ( ) { } void hookEvents ( ) { } public int indexOf ( TableColumn column ) { } public int indexOf ( TableItem item ) { } public boolean isSelected ( int index ) { } boolean mnemonicHit ( char key ) { } boolean mnemonicMatch ( char key ) { } int paintWindow ( ) { } int pixbufCellDataProc ( int tree_column , int cell , int tree_model , int iter , int data ) { } void register ( ) { } void releaseWidget ( ) { } public void remove ( int index ) { checkWidget ( ) ; <START_BUG> if ( ! ( ( 0 <= index ) && ( index <= ( itemCount ) ) ) ) <END_BUG> error ( ERROR_ITEM_NOT_REMOVED ) ; TableItem item = items [ index ] ; int selection = OS . gtk_tree_view_get_selection ( handle ) ; if ( ( item != null ) && ( ! ( item . isDisposed ( ) ) ) ) { OS . g_signal_handlers_block_matched ( selection , G_SIGNAL_MATCH_DATA , 0 , 0 , 0 , 0 , CHANGED ) ; OS . gtk_list_store_remove ( modelHandle , item . handle ) ; OS . g_signal_handlers_unblock_matched ( selection , G_SIGNAL_MATCH_DATA , 0 , 0 , 0 , 0 , CHANGED ) ; item . releaseResources ( ) ; } else { int iter = OS . g_malloc ( OS . GtkTreeIter_sizeof ( ) ) ; OS . gtk_tree_model_iter_nth_child ( modelHandle , iter , 0 , index ) ; OS . g_signal_handlers_block_matched ( selection , G_SIGNAL_MATCH_DATA , 0 , 0 , 0 , 0 , CHANGED ) ; OS . gtk_list_store_remove ( modelHandle , iter ) ; OS . g_signal_handlers_unblock_matched ( selection , G_SIGNAL_MATCH_DATA , 0 , 0 , 0 , 0 , CHANGED ) ; OS . g_free ( iter ) ; } System . arraycopy ( items , ( index + 1 ) , items , index , ( ( -- ( itemCount ) ) - index ) ) ; items [ itemCount ] = null ; } public void remove ( int start , int end ) { } public void remove ( int [ ] indices ) { } public void removeAll ( ) { } public void removeSelectionListener ( SelectionListener listener ) { } void resetCustomDraw ( ) { } public void select ( int index ) { } public void select ( int start , int end ) { } public void select ( int [ ] indices ) { } public void selectAll ( ) { } void selectFocusIndex ( int index ) { } void setBackgroundColor ( GdkColor color ) { } int setBounds ( int x , int y , int width , int height , boolean move , boolean resize ) { } public void setColumnOrder ( int [ ] order ) { } void setFontDescription ( int font ) { } void setForegroundColor ( GdkColor color ) { } public void setHeaderVisible ( boolean show ) { }

Fix:
if ( ! ( ( 0 <= index ) && ( index < ( itemCount ) ) ) )