Buggy code:
, new Object [ ] { "EraseItem" , new Integer ( SWT . EraseItem ) } , new Object [ ] { "Expand" , new Integer ( SWT . Expand ) } , new Object [ ] { "FocusIn" , new Integer ( SWT . FocusIn ) } , new Object [ ] { "FocusOut" , new Integer ( SWT . FocusOut ) } , new Object [ ] { "HardKeyDown" , new Integer ( SWT . HardKeyDown ) } , new Object [ ] { "HardKeyUp" , new Integer ( SWT . HardKeyUp ) } , new Object [ ] { "Help" , new Integer ( SWT . Help ) } , new Object [ ] { "Hide" , new Integer ( SWT . Hide ) } , new Object [ ] { "Iconify" , new Integer ( SWT . Iconify ) } , new Object [ ] { "KeyDown" , new Integer ( SWT . KeyDown ) } , new Object [ ] { "KeyUp" , new Integer ( SWT . KeyUp ) } , new Object [ ] { "MeasureItem" , new Integer ( SWT . MeasureItem ) } , new Object [ ] { "MenuDetect" , new Integer ( SWT . MenuDetect ) } , new Object [ ] { "Modify" , new Integer ( SWT . Modify ) } , new Object [ ] { "MouseDoubleClick" , new Integer ( SWT . MouseDoubleClick ) } , new Object [ ] { "MouseDown" , new Integer ( SWT . MouseDown ) } , new Object [ ] { "MouseEnter" , new Integer ( SWT . MouseEnter ) } , new Object [ ] { "MouseExit" , new Integer ( SWT . MouseExit ) } , new Object [ ] { "MouseHover" , new Integer ( SWT . MouseHover ) } , new Object [ ] { "MouseMove" , new Integer ( SWT . MouseMove ) } , new Object [ ] { "MouseUp" , new Integer ( SWT . MouseUp ) } , new Object [ ] { "MouseWheel" , new Integer ( SWT . MouseWheel ) } , new Object [ ] { "Move" , new Integer ( SWT . Move ) } , new Object [ ] { "Paint" , new Integer ( SWT . Paint ) } , new Object [ ] { "PaintItem" , new Integer ( SWT . PaintItem ) } , new Object [ ] { "Resize" , new Integer ( SWT . Resize ) } , new Object [ ] { "Selection" , new Integer ( SWT . Selection ) } , new Object [ ] { "SetData" , new Integer ( SWT . SetData ) } , new Object [ ] { "Show" , new Integer ( SWT . Show ) } , new Object [ ] { "Traverse" , new Integer ( SWT . Traverse ) } , new Object [ ] { "Verify" , new Integer ( SWT . Verify ) } } ; boolean samplePopup = false ; Tab ( ControlExample instance ) { } void createControlGroup ( ) { } void createSetGetGroup ( ) { } void createControlWidgets ( ) { } void createColorAndFontGroup ( ) { } void changeFontOrColor ( int index ) { } void createOtherGroup ( ) { } void createBackgroundModeGroup ( ) { } void createEventConsolePopup ( ) { } void createExampleGroup ( ) { } void createExampleWidgets ( ) { } void createListenerSelectionDialog ( ) { } void createListenersGroup ( ) { } String [ ] getMethodNames ( ) { } void createSetGetDialog ( int x , int y , String [ ] methodNames ) { } void resetLabels ( ) { } String setMethodName ( String methodRoot ) { } String parameterInfo ( String methodRoot ) { } void getValue ( ) { } Class getReturnType ( String methodRoot ) { } void setValue ( ) { } Object [ ] parameterForType ( String typeName , String value , Widget widget ) { } void createOrientationGroup ( ) { } void createSizeGroup ( ) { } void createStyleGroup ( ) { } Composite createTabFolderPage ( TabFolder tabFolder ) { } void setExampleWidgetPopupMenu ( ) { } protected void specialPopupMenuItems ( final Menu menu , final Event event ) { } void disposeExampleWidgets ( ) { } Image colorImage ( Color color ) { } Image fontImage ( Font font ) { } String [ ] getCustomEventNames ( ) { } int getDefaultStyle ( ) { } Widget [ ] getExampleWidgets ( ) { } Control [ ] getExampleControls ( ) { } Item [ ] getExampleWidgetItems ( ) { } String getShortTabText ( ) { } String getTabText ( ) { } void hookExampleWidgetListeners ( ) { } void hookCustomListener ( String eventName ) { } void hookListeners ( Widget widget ) { } void log ( Event event ) { } void log ( String string ) { } void log ( String eventName , TypedEvent event ) { } void recreateExampleWidgets ( ) { } void resetColorsAndFonts ( ) { } boolean rtlSupport ( ) { } void setExampleGroupBackgroundColor ( ) { } void setExampleGroupBackgroundImage ( ) { } void setExampleGroupBackgroundMode ( ) { } void setExampleWidgetBackground ( ) { } void setExampleWidgetEnabled ( ) { } void setExampleWidgetFont ( ) { } void setExampleWidgetForeground ( ) { } void setExampleWidgetSize ( ) { } void setExampleWidgetState ( ) { } void setExampleWidgetVisibility ( ) { } void setExampleWidgetBackgroundImage ( ) { <START_BUG> if ( backgroundImageButton . isDisposed ( ) ) <END_BUG> return ; Control [ ] controls = getExampleControls ( ) ; for ( int i = 0 ; i < ( controls . length ) ; i ++ ) { controls [ i ] . setBackgroundImage ( ( backgroundImageButton . getSelection ( ) ? instance . images [ ControlExample . ciBackground ] : null ) ) ; } } String [ ] split ( String string , char ch ) { } }

Fix:
if ( ( ( backgroundImageButton ) != null ) && ( backgroundImageButton . isDisposed ( ) ) )