Buggy code:
class TreeTab extends ScrollableTab { Tree tree1 ; Tree tree2 ; TreeItem textNode1 ; TreeItem imageNode1 ; Group treeGroup ; Group imageTreeGroup ; Group itemGroup ; Button packColumnsButton ; Button checkButton ; Button fullSelectionButton ; Button multipleColumns ; Button moveableColumns ; Button resizableColumns ; Button headerVisibleButton ; Button sortIndicatorButton ; Button headerImagesButton ; Button subImagesButton ; Button linesVisibleButton ; 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 ; TreeTab ( ControlExample instance ) { } void createColorAndFontGroup ( ) { } void changeFontOrColor ( int index ) { } void createOtherGroup ( ) { } void createExampleGroup ( ) { } void createExampleWidgets ( ) { } void setItemText ( TreeItem item , int i , String node ) { } void createSizeGroup ( ) { } void createStyleGroup ( ) { } Item [ ] getExampleWidgetItems ( ) { } Widget [ ] getExampleWidgets ( ) { } String [ ] getMethodNames ( ) { } Object [ ] parameterForType ( String typeName , String value , Widget widget ) { if ( typeName . equals ( "org.eclipse.swt.widgets.TreeItem" ) ) { TreeItem item = findItem ( value , ( ( Tree ) ( widget ) ) . getItems ( ) ) ; if ( item != null ) return new Object [ ] { item } ; } if ( typeName . equals ( "[Lorg.eclipse.swt.widgets.TreeItem;" ) ) { <START_BUG> String [ ] values = value . split ( "," ) ; <END_BUG> TreeItem [ ] items = new TreeItem [ values . length ] ; for ( int i = 0 ; i < ( values . length ) ; i ++ ) { TreeItem item = findItem ( values [ i ] , ( ( Tree ) ( widget ) ) . getItems ( ) ) ; if ( item == null ) break ; items [ i ] = item ; } return new Object [ ] { items } ; } return super . parameterForType ( typeName , value , widget ) ; } TreeItem findItem ( String value , TreeItem [ ] items ) { } String getTabText ( ) { } void packColumns ( Tree tree ) { } void setColumnsMoveable ( ) { } void setColumnsResizable ( ) { } void resetColorsAndFonts ( ) { } void setExampleWidgetState ( ) { } void setCellBackground ( ) { } void setCellForeground ( ) { } void setCellFont ( ) { } void setItemBackground ( ) { } void setItemForeground ( ) { } void setItemFont ( ) { } void setWidgetHeaderVisible ( ) { } void setWidgetSortIndicator ( ) { } void initializeSortState ( final Tree tree ) { } void resetSortState ( final Tree tree ) { } void setWidgetLinesVisible ( ) { } protected void specialPopupMenuItems ( Menu menu , Event event ) { } }

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