Buggy code:
; 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 ( ) { int style = getDefaultStyle ( ) ; if ( singleButton . getSelection ( ) ) style |= SWT . SINGLE ; if ( multiButton . getSelection ( ) ) style |= SWT . MULTI ; if ( horizontalButton . getSelection ( ) ) style |= SWT . H_SCROLL ; if ( verticalButton . getSelection ( ) ) style |= SWT . V_SCROLL ; if ( checkButton . getSelection ( ) ) style |= SWT . CHECK ; if ( fullSelectionButton . getSelection ( ) ) style |= SWT . FULL_SELECTION ; if ( borderButton . getSelection ( ) ) style |= SWT . BORDER ; tree1 = new Tree ( treeGroup , style ) ; boolean multiColumn = multipleColumns . getSelection ( ) ; if ( multiColumn ) { for ( int i = 0 ; i < ( TreeTab . columnTitles . length ) ; i ++ ) { TreeColumn treeColumn = new TreeColumn ( tree1 , SWT . NONE ) ; treeColumn . setText ( TreeTab . columnTitles [ i ] ) ; treeColumn . setToolTipText ( ControlExample . getResourceString ( "Tooltip" , new String [ ] { TreeTab . columnTitles [ i ] } ) ) ; } tree1 . setSortColumn ( tree1 . getColumn ( 0 ) ) ; } for ( int i = 0 ; i < 4 ; i ++ ) { TreeItem item = new TreeItem ( tree1 , SWT . NONE ) ; setItemText ( item , i , ControlExample . getResourceString ( ( "Node_" + ( i + 1 ) ) ) ) ; if ( i < 3 ) { TreeItem subitem = new TreeItem ( item , SWT . NONE ) ; setItemText ( subitem , i , ControlExample . getResourceString ( ( ( "Node_" + ( i + 1 ) ) + "_1" ) ) ) ; } } TreeItem [ ] treeRoots = tree1 . getItems ( ) ; TreeItem item = new TreeItem ( treeRoots [ 1 ] , SWT . NONE ) ; setItemText ( item , 1 , ControlExample . getResourceString ( "Node_2_2" ) ) ; item = new TreeItem ( item , SWT . NONE ) ; setItemText ( item , 1 , ControlExample . getResourceString ( "Node_2_2_1" ) ) ; textNode1 = treeRoots [ 0 ] ; packColumns ( tree1 ) ; try { TreeColumn column = tree1 . getColumn ( 0 ) ; resizableColumns . setSelection ( column . getResizable ( ) ) ; } catch ( IllegalArgumentException ex ) { } tree2 = new Tree ( imageTreeGroup , style ) ; Image image = instance . images [ ControlExample . ciClosedFolder ] ; if ( multiColumn ) { for ( int i = 0 ; i < ( TreeTab . columnTitles . length ) ; i ++ ) { TreeColumn treeColumn = new TreeColumn ( tree2 , SWT . NONE ) ; treeColumn . setText ( TreeTab . columnTitles [ i ] ) ; treeColumn . setToolTipText ( ControlExample . getResourceString ( "Tooltip" , new String [ ] { TreeTab . columnTitles [ i ] } ) ) ; if ( headerImagesButton . getSelection ( ) ) <START_BUG> treeColumn . setImage ( image ) ; <END_BUG> } } for ( int i = 0 ; i < 4 ; i ++ ) { item = new TreeItem ( tree2 , SWT . NONE ) ; setItemText ( item , i , ControlExample . getResourceString ( ( "Node_" + ( i + 1 ) ) ) ) ; if ( multiColumn && ( subImagesButton . getSelection ( ) ) ) { for ( int j = 0 ; j < ( TreeTab . columnTitles . length ) ; j ++ ) { item . setImage ( j , image ) ; } } else { item . setImage ( image ) ; } if ( i < 3 ) { TreeItem subitem = new TreeItem ( item , SWT . NONE ) ; setItemText ( subitem , i , ControlExample . getResourceString ( ( ( "Node_" + ( i + 1 ) ) + "_1" ) ) ) ; if ( multiColumn && ( subImagesButton . getSelection ( ) ) ) { for ( int j = 0 ; j < ( TreeTab . columnTitles . length ) ; j ++ ) { subitem . setImage ( j , image ) ; } } else { subitem . setImage ( image ) ; } } } treeRoots = tree2 . getItems ( ) ; item = new TreeItem ( treeRoots [ 1 ] , SWT . NONE ) ; setItemText ( item , 1 , ControlExample . getResourceString ( "Node_2_2" ) ) ; if ( multiColumn && ( subImagesButton . getSelection ( ) ) ) { for ( int j = 0 ; j < ( TreeTab . columnTitles . length ) ;

Fix:
treeColumn . setImage ( instance . images [ ( i % 3 ) ] ) ;