Buggy code:
public class Composite extends Scrollable { Layout layout ; Control [ ] tabList ; int layoutCount ; int backgroundMode ; Composite ( ) { } public Composite ( Composite parent , int style ) { } Control [ ] _getChildren ( ) { } Control [ ] _getTabList ( ) { } boolean acceptsFirstResponder ( int id , int sel ) { } int accessibilityAttributeNames ( int id , int sel ) { } boolean accessibilityIsIgnored ( int id , int sel ) { } public void changed ( Control [ ] changed ) { } public Point computeSize ( int wHint , int hHint , boolean changed ) { } protected void checkSubclass ( ) { } Widget [ ] computeTabList ( ) { } void createHandle ( ) { } public void drawBackground ( GC gc , int x , int y , int width , int height , int offsetX , int offsetY ) { checkWidget ( ) ; if ( gc == null ) error ( ERROR_NULL_ARGUMENT ) ; if ( gc . isDisposed ( ) ) error ( ERROR_INVALID_ARGUMENT ) ; Control control = findBackgroundControl ( ) ; if ( control != null ) { NSRect rect = new NSRect ( ) ; rect . x = x ; rect . y = y ; rect . width = width ; rect . height = height ; int imgHeight = - 1 ; GCData data = gc . getGCData ( ) ; if ( ( data . image ) != null ) imgHeight = data . image . getBounds ( ) . height ; NSGraphicsContext context = gc . handle ; if ( ( data . flippedContext ) != null ) { NSGraphicsContext . static_saveGraphicsState ( ) ; NSGraphicsContext . setCurrentContext ( context ) ; } <START_BUG> control . fillBackground ( view , context , rect , imgHeight , offsetX , offsetY ) ; <END_BUG> if ( ( data . flippedContext ) != null ) { NSGraphicsContext . static_restoreGraphicsState ( ) ; } } else { gc . fillRectangle ( x , y , width , height ) ; } } void drawBackground ( int id , NSGraphicsContext context , NSRect rect ) { } Composite findDeferredControl ( ) { } Menu [ ] findMenus ( Control control ) { } void fixChildren ( Shell newShell , Shell oldShell , Decorations newDecorations , Decorations oldDecorations , Menu [ ] menus ) { } void fixTabList ( Control control ) { } public int getBackgroundMode ( ) { } public Control [ ] getChildren ( ) { } public Layout getLayout ( ) { } public boolean getLayoutDeferred ( ) { } public Control [ ] getTabList ( ) { } boolean hooksKeys ( ) { } void invalidateChildrenVisibleRegion ( ) { } public boolean isLayoutDeferred ( ) { } boolean isOpaque ( int id , int sel ) { } boolean isTabGroup ( ) { } void keyDown ( int id , int sel , int theEvent ) { } public void layout ( ) { } public void layout ( boolean changed ) { } public void layout ( boolean changed , boolean all ) { } public void layout ( Control [ ] changed ) { } public void layout ( Control [ ] changed , int flags ) { } void markLayout ( boolean changed , boolean all ) { } Point minimumSize ( int wHint , int Hint , boolean changed ) { } boolean mouseEvent ( int id , int sel , int theEvent , int type ) { } void pageDown ( int id , int sel , int sender ) { } void pageUp ( int id , int sel , int sender ) { } void reflectScrolledClipView ( int id , int sel , int aClipView ) { } void releaseChildren ( boolean destroy ) { } void releaseWidget ( ) { } void removeControl ( Control control ) { } void reskinChildren ( int flags ) { } void resized ( ) { } void scrollWheel ( int id , int sel , int theEvent ) { } public void setBackgroundMode ( int mode ) { } public boolean setFocus ( ) { } public void setLayout ( Layout layout ) { } public void setLayoutDeferred ( boolean defer ) { } boolean setScrollBarVisible ( ScrollBar bar , boolean visible ) { } boolean setTabGroupFocus ( ) { } public void setTabList ( Control [ ] tabList ) { } int traversalCode ( int key , NSEvent theEvent ) { } void updateBackgroundColor ( ) { } void updateBackgroundImage ( ) { } void updateBackgroundMode ( ) { } void updateCursorRects ( boolean enabled ) { } void updateLayout ( boolean all ) { } }

Fix:
control . fillBackground ( view , context , rect , imgHeight , data . view , offsetX , offsetY ) ;