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 ) { } public void changed ( Control [ ] changed ) { } public Point computeSize ( int wHint , int hHint , boolean changed ) { } protected void checkSubclass ( ) { } Control [ ] computeTabList ( ) { } void createHandle ( ) { } void drawWidget ( int id , 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 ( ) { } int getChildrenCount ( ) { } public Layout getLayout ( ) { } public boolean getLayoutDeferred ( ) { } public Control [ ] getTabList ( ) { } boolean hooksKeys ( ) { } 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 ) { } void markLayout ( boolean changed , boolean all ) { } Point minimumSize ( int wHint , int Hint , boolean changed ) { } void pageDown ( int id , int sel , int sender ) { } void pageUp ( int id , int sel , int sender ) { } void releaseChildren ( boolean destroy ) { } void releaseWidget ( ) { } void removeControl ( Control control ) { } void resized ( ) { } void scrollWheel ( int id , int sel , int theEvent ) { if ( ( ( state ) & ( CANVAS ) ) != 0 ) { NSView view = ( ( scrollView ) != null ) ? scrollView : this . view ; if ( id == ( view . id ) ) { NSEvent nsEvent = new NSEvent ( theEvent ) ; <START_BUG> double delta = nsEvent . deltaY ( ) ; <END_BUG> if ( delta != 0 ) { if ( ( hooks ( MouseWheel ) ) || ( filters ( MouseWheel ) ) ) { if ( ! ( sendMouseEvent ( nsEvent , MouseWheel , true ) ) ) { return ; } } } boolean handled = false ; ScrollBar bar = verticalBar ; if ( ( ( delta != 0 ) && ( bar != null ) ) && ( bar . getEnabled ( ) ) ) { int selection = Math . max ( 0 , ( ( int ) ( ( 0.5F + ( bar . getSelection ( ) ) ) - ( ( bar . getIncrement ( ) ) * delta ) ) ) ) ; bar . setSelection ( selection ) ; Event event = new Event ( ) ; event . detail = ( delta > 0 ) ? SWT . PAGE_UP : SWT . PAGE_DOWN ; bar . sendEvent ( Selection , event ) ; handled = true ; } bar = horizontalBar ; delta = nsEvent . deltaX ( ) ; if ( ( ( delta != 0 ) && ( bar != null ) ) && ( bar . getEnabled ( ) ) ) { int selection = Math . max ( 0 , ( ( int ) ( ( 0.5F + ( bar . getSelection ( ) ) ) - ( ( bar . getIncrement ( ) ) * delta ) ) ) ) ; bar . setSelection ( selection ) ; Event event = new Event ( ) ; event . detail = ( delta > 0 ) ? SWT . PAGE_UP : SWT . PAGE_DOWN ; bar . sendEvent ( Selection , event ) ; handled = true ; } if ( ! handled ) view . superview ( ) . scrollWheel ( nsEvent ) ; return ; } callSuper ( id , sel , theEvent ) ; return ; } super . scrollWheel ( id , sel , 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 updateBackgroundMode ( ) { } void updateLayout ( boolean all ) { } }

Fix:
float delta = nsEvent . deltaY ( ) ;