Buggy code:
class TableTab extends ScrollableTab { Table table1 ; Group tableGroup ; Button packColumnsButton ; Button checkButton ; Button fullSelectionButton ; Button hideSelectionButton ; Button multipleColumns ; Button moveableColumns ; Button resizableColumns ; Button headerVisibleButton ; Button sortIndicatorButton ; Button headerImagesButton ; Button linesVisibleButton ; Button subImagesButton ; static final int ITEM_FOREGROUND_COLOR = 3 ; static final int ITEM_BACKGROUND_COLOR = 4 ; static final int ITEM_FONT = 5 ; static final int CELL_FOREGROUND_COLOR = 6 ; static final int CELL_BACKGROUND_COLOR = 7 ; static final int CELL_FONT = 8 ; Color itemForegroundColor ; Color itemBackgroundColor ; Color cellForegroundColor ; Color cellBackgroundColor ; Font itemFont ; Font cellFont ; static String [ ] columnTitles = new String [ ] { ControlExample . getResourceString ( "TableTitle_0" ) , ControlExample . getResourceString ( "TableTitle_1" ) , ControlExample . getResourceString ( "TableTitle_2" ) , ControlExample . getResourceString ( "TableTitle_3" ) } ; static String [ ] [ ] tableData = new String [ ] [ ] { new String [ ] { ControlExample . getResourceString ( "TableLine0_0" ) , ControlExample . getResourceString ( "TableLine0_1" ) , ControlExample . getResourceString ( "TableLine0_2" ) , ControlExample . getResourceString ( "TableLine0_3" ) } , new String [ ] { ControlExample . getResourceString ( "TableLine1_0" ) , ControlExample . getResourceString ( "TableLine1_1" ) , ControlExample . getResourceString ( "TableLine1_2" ) , ControlExample . getResourceString ( "TableLine1_3" ) } , new String [ ] { ControlExample . getResourceString ( "TableLine2_0" ) , ControlExample . getResourceString ( "TableLine2_1" ) , ControlExample . getResourceString ( "TableLine2_2" ) , ControlExample . getResourceString ( "TableLine2_3" ) } } ; Point menuMouseCoords ; TableTab ( ControlExample instance ) { } void createColorAndFontGroup ( ) { } void changeFontOrColor ( int index ) { } void createOtherGroup ( ) { } void createExampleGroup ( ) { } void createExampleWidgets ( ) { } void setItemText ( TableItem item , int i , String node ) { } void createSizeGroup ( ) { } void createStyleGroup ( ) { } Item [ ] getExampleWidgetItems ( ) { } Widget [ ] getExampleWidgets ( ) { } String [ ] getMethodNames ( ) { } String setMethodName ( String methodRoot ) { } void packColumns ( ) { } Object [ ] parameterForType ( String typeName , String value , Widget widget ) { if ( value . equals ( "" ) ) return new Object [ ] { new TableItem [ 0 ] } ; if ( typeName . equals ( "org.eclipse.swt.widgets.TableItem" ) ) { TableItem item = findItem ( value , ( ( Table ) ( widget ) ) . getItems ( ) ) ; if ( item != null ) return new Object [ ] { item } ; } if ( typeName . equals ( "[Lorg.eclipse.swt.widgets.TableItem;" ) ) { <START_BUG> String [ ] values = value . split ( "," ) ; <END_BUG> TableItem [ ] items = new TableItem [ values . length ] ; for ( int i = 0 ; i < ( values . length ) ; i ++ ) { items [ i ] = findItem ( values [ i ] , ( ( Table ) ( widget ) ) . getItems ( ) ) ; } return new Object [ ] { items } ; } return super . parameterForType ( typeName , value , widget ) ; } TableItem findItem ( String value , TableItem [ ] items ) { } String getTabText ( ) { } void resetColorsAndFonts ( ) { } void setCellBackground ( ) { } void setCellForeground ( ) { } void setCellFont ( ) { } void setItemBackground ( ) { } void setItemForeground ( ) { } void setItemFont ( ) { } void setColumnsMoveable ( ) { } void setColumnsResizable ( ) { } void setExampleWidgetState ( ) { } void setWidgetHeaderVisible ( ) { } void setWidgetSortIndicator ( ) { } void setWidgetLinesVisible ( ) { } protected void specialPopupMenuItems ( Menu menu , Event event ) { } }

Fix:
String [ ] values = split ( value , ',' ) ;