Buggy code:
public Rectangle getClientArea ( ) { } TreeColumn getColumn ( id id ) { } public TreeColumn getColumn ( int index ) { } public int getColumnCount ( ) { } public int [ ] getColumnOrder ( ) { } public TreeColumn [ ] getColumns ( ) { } public int getGridLineWidth ( ) { } public int getHeaderHeight ( ) { } public boolean getHeaderVisible ( ) { } public TreeItem getItem ( int index ) { } public TreeItem getItem ( Point point ) { } public int getItemCount ( ) { } int getItemCount ( TreeItem item ) { } public int getItemHeight ( ) { } public TreeItem [ ] getItems ( ) { } public boolean getLinesVisible ( ) { } public TreeItem getParentItem ( ) { } public TreeItem [ ] getSelection ( ) { } public int getSelectionCount ( ) { } public TreeColumn getSortColumn ( ) { } public int getSortDirection ( ) { } public TreeItem getTopItem ( ) { } void highlightSelectionInClipRect ( int id , int sel , int rect ) { } int hitTestForEvent ( int id , int sel , int event , NSRect rect , int controlView ) { } int image ( int id , int sel ) { } NSRect imageRectForBounds ( int id , int sel , NSRect cellFrame ) { } int indexOf ( NSTableColumn column ) { } public int indexOf ( TreeColumn column ) { } public int indexOf ( TreeItem item ) { } boolean isTrim ( NSView view ) { } int menuForEvent ( int id , int sel , int theEvent ) { } void mouseDown ( int id , int sel , int theEvent ) { } int nextState ( int id , int sel ) { } int outlineView_child_ofItem ( int id , int sel , int outlineView , int index , int itemID ) { } void outlineView_didClickTableColumn ( int id , int sel , int outlineView , int tableColumn ) { } int outlineView_objectValueForTableColumn_byItem ( int id , int sel , int outlineView , int tableColumn , int itemID ) { } boolean outlineView_isItemExpandable ( int id , int sel , int outlineView , int item ) { } int outlineView_numberOfChildrenOfItem ( int id , int sel , int outlineView , int item ) { } void outlineView_willDisplayCell_forTableColumn_item ( int id , int sel , int outlineView , int cell , int tableColumn , int itemID ) { } void outlineViewColumnDidMove ( int id , int sel , int aNotification ) { } void outlineViewColumnDidResize ( int id , int sel , int aNotification ) { } void outlineViewSelectionDidChange ( int id , int sel , int notification ) { } void outlineView_setObjectValue_forTableColumn_byItem ( int id , int sel , int outlineView , int object , int tableColumn , int itemID ) { } boolean outlineView_writeItems_toPasteboard ( int id , int sel , int arg0 , int arg1 , int arg2 ) { } void register ( ) { } void releaseChildren ( boolean destroy ) { } void releaseHandle ( ) { } void releaseWidget ( ) { } void reloadItem ( TreeItem item , boolean recurse ) { } public void removeAll ( ) { } public void removeSelectionListener ( SelectionListener listener ) { } public void removeTreeListener ( TreeListener listener ) { } void setImage ( int id , int sel , int arg0 ) { } public void setInsertMark ( TreeItem item , boolean before ) { } public void selectAll ( ) { } public void select ( TreeItem item ) { checkWidget ( ) ; if ( item == null ) error ( ERROR_NULL_ARGUMENT ) ; if ( item . isDisposed ( ) ) error ( ERROR_INVALID_ARGUMENT ) ; checkItems ( ) ; showItem ( item ) ; NSOutlineView outlineView = ( ( NSOutlineView ) ( view ) ) ; int row = outlineView . rowForItem ( item . handle ) ; NSIndexSet set = ( ( NSIndexSet ) ( new NSIndexSet ( ) . alloc ( ) ) ) ; set = set . initWithIndex ( row ) ; ignoreSelect = true ; <START_BUG> outlineView . selectRowIndexes ( set , false ) ; <END_BUG> ignoreSelect = false ; set . release ( ) ; } void sendDoubleSelection ( ) { } boolean sendKeyEvent ( NSEvent nsEvent , int type ) { } void sendMeasureItem ( TreeItem item , int columnIndex , NSSize size ) { } void selectItems ( TreeItem [ ] items , boolean ignoreDisposed ) { } NSRect titleRectForBounds ( int id , int sel , NSRect cellFrame ) { } void updateBackground ( ) { } public void setColumnOrder ( int [ ] order ) { } void setFont ( NSFont font ) { } public void setHeaderVisible ( boolean show ) { } public void setItemCount ( int count ) { } void setItemCount ( TreeItem parentItem , int count ) { } void setItemHeight ( int itemHeight ) { } void setItemHeight ( Image image , NSFont font , boolean set ) { } public void setLinesVisible ( boolean show ) { } public void setRedraw ( boolean redraw ) { } boolean setScrollWidth ( ) { } boolean setScrollWidth ( boolean set , TreeItem [ ] items , boolean recurse ) { } boolean setScrollWidth ( TreeItem item ) { } public void setSelection ( TreeItem item ) { } public void setSelection ( TreeItem [ ] items ) { } void setSmallSize ( ) { } public void setSortColumn ( TreeColumn column ) { } public void setSortDirection ( int direction ) { } public void setTopItem ( TreeItem item ) { } public void showColumn ( TreeColumn column ) { } public void showItem ( TreeItem item ) { } void showItem ( TreeItem item , boolean scroll ) { } public void showSelection ( ) { } void updateCursorRects ( boolean enabled ) { } }

Fix:
outlineView . selectRowIndexes ( set , ( ( ( style ) & ( SWT . MULTI ) ) != 0 ) ) ;