Buggy code:
public boolean containsSubmenu ( int type ) { } private static final int FILL_ALL_ACTION_BARS = ( ( ActionBarAdvisor . FILL_MENU_BAR ) | ( ActionBarAdvisor . FILL_COOL_BAR ) ) | ( ActionBarAdvisor . FILL_STATUS_LINE ) ; public WorkbenchWindow ( int number ) { } private IExtensionPoint getActionSetExtensionPoint ( ) { } protected int perspectiveBarStyle ( ) { } private TrimDropTarget trimDropTarget ; private boolean coolBarVisible = true ; private boolean perspectiveBarVisible = true ; private boolean fastViewBarVisible = true ; private boolean statusLineVisible = true ; private IWindowTrim statusLineTrim = null ; private Map globalActionHandlersByCommandId = new HashMap ( ) ; private List handlerActivations = new ArrayList ( ) ; private int largeUpdates = 0 ; private IExtensionTracker tracker ; private IExtensionChangeHandler actionSetHandler = new IExtensionChangeHandler ( ) { public void addExtension ( IExtensionTracker tracker , IExtension extension ) { } public void removeExtension ( IExtension extension , Object [ ] objects ) { } } ; void registerGlobalAction ( IAction globalAction ) { } void submitGlobalActions ( ) { } public void addPageListener ( IPageListener l ) { } public void addPerspectiveListener ( org . eclipse . ui . IPerspectiveListener l ) { } protected void addPerspectiveBar ( int style ) { } private boolean busyClose ( ) { } protected IWorkbenchPage busyOpenPage ( String perspID , IAdaptable input ) throws WorkbenchException { } public int open ( ) { } protected boolean canHandleShellCloseEvent ( ) { } public boolean close ( ) { } protected boolean isClosing ( ) { } protected boolean isCoolBarLocked ( ) { } private void closeAllPages ( ) { } public void closeAllPages ( boolean save ) { } protected boolean closePage ( IWorkbenchPage in , boolean save ) { } private void showEmptyWindowContents ( ) { } private void hideEmptyWindowContents ( ) { } protected void configureShell ( Shell shell ) { } ShellPool getDetachedWindowPool ( ) { } protected void createTrimWidgets ( Shell shell ) { } protected Composite createPageComposite ( Composite parent ) { } protected Control createContents ( Composite parent ) { } public void setBannerCurve ( boolean square ) { } protected void createDefaultContents ( final Shell shell ) { defaultLayout = new TrimLayout ( ) ; defaultLayout . setSpacing ( 5 , 5 , 2 , 2 ) ; shell . setLayout ( defaultLayout ) ; Menu menuBar = getMenuBarManager ( ) . createMenuBar ( shell ) ; if ( getWindowConfigurer ( ) . getShowMenuBar ( ) ) { shell . setMenuBar ( menuBar ) ; } topBar = new CBanner ( shell , SWT . NONE ) ; topBarTrim = new WindowTrimProxy ( topBar , "org.eclipse.ui.internal.WorkbenchWindow.topBar" , WorkbenchMessages . TrimCommon_Main_TrimName , SWT . NONE , true ) ; setBannerCurve ( PrefUtil . getAPIPreferenceStore ( ) . getBoolean ( SHOW_TRADITIONAL_STYLE_TABS ) ) ; CacheWrapper coolbarCacheWrapper = new CacheWrapper ( topBar ) ; final Control coolBar = createCoolBarControl ( coolbarCacheWrapper . getControl ( ) ) ; coolBar . addListener ( Resize , new Listener ( ) { public void handleEvent ( Event event ) { Rectangle clientArea = shell . getClientArea ( ) ; if ( ( ( lastShellSize . x ) == ( clientArea . width ) ) && ( ( lastShellSize . y ) == ( clientArea . height ) ) ) { LayoutUtil . resize ( coolBar ) ; } lastShellSize . x = clientArea . width ; lastShellSize . y = clientArea . height ; } } ) ; if ( getWindowConfigurer ( ) . getShowCoolBar ( ) ) { topBar . setLeft ( coolbarCacheWrapper . getControl ( ) ) ; } createStatusLine ( shell ) ; fastViewBar = new FastViewBar ( this ) ; fastViewBar . createControl ( shell ) ; if ( getWindowConfigurer ( ) . getShowPerspectiveBar ( ) ) { addPerspectiveBar ( perspectiveBarStyle ( ) ) ; perspectiveSwitcher . createControl ( shell ) ; } createProgressIndicator ( shell ) ; if ( getShowHeapStatus ( ) ) { createHeapStatus ( shell ) ; } if ( Policy . EXPERIMENTAL_MENU ) trimMgr2 = new TrimBarManager2 ( this ) ; else <START_BUG> trimMgr = new TrimBarManager ( this ) ; <END_BUG> trimDropTarget = new TrimDropTarget ( shell , this ) ; DragUtil . addDragTarget ( shell , trimDropTarget ) ; DragUtil . addDragTarget ( null , trimDropTarget ) ; createPageComposite ( shell ) ; setLayoutDataForContents ( ) ; } private boolean getShowHeapStatus ( ) { } private void createHeapStatus ( Composite parent ) { } protected MenuManager createMenuManager ( ) { } public void setPerspectiveBarLocation ( String location ) { } private void fireWindowOpening ( ) { } void fireWindowRestored ( ) throws WorkbenchException { } private void fireWindowCreated ( ) { } private void fireWindowOpened ( ) { } private boolean fireWindowShellClosing ( ) { } private void fireWindowClosed ( ) { } private void firePageActivated ( IWorkbenchPage page ) { } private void firePageClosed ( IWorkbenchPage page ) { } private void firePageOpened ( IWorkbenchPage page ) { } void firePerspectiveActivated ( IWorkbenchPage page , IPerspectiveDescriptor perspective ) { } void firePerspectivePreDeactivate ( IWorkbenchPage page , IPerspectiveDescriptor perspective ) { } void firePerspectiveDeactivated ( IWorkbenchPage page , IPerspectiveDescriptor perspective ) { } void firePerspectiveChanged ( IWorkbenchPage page , IPerspectiveDescriptor perspective , String changeId ) { } void firePerspectiveChanged ( IWorkbenchPage page , IPerspectiveDescriptor perspective , IWorkbenchPartReference partRef , String changeId ) { } void firePerspectiveClosed ( IWorkbenchPage page , IPerspectiveDescriptor perspective ) { } void firePerspectiveOpened ( IWorkbenchPage page , IPerspectiveDescriptor perspective ) { } void firePerspectiveSavedAs ( IWorkbenchPage page , IPerspectiveDescriptor oldPerspective , IPerspectiveDescriptor newPerspective ) { } public WWinActionBars getActionBars ( ) { } public IWorkbenchPage getActivePage ( ) { } WorkbenchPage getActiveWorkbenchPage ( ) { } protected Composite getPageComposite ( ) { } public MenuManager getMenuManager ( ) { } public int getNumber ( ) { } public IWorkbenchPage [ ] getPages ( ) { } public IPartService getPartService ( ) { } protected Layout getLayout ( ) { } public ISelectionService getSelectionService ( ) { }

Fix:
trimMgr = new TrimBarManager ( this , ( ( Workbench ) ( getWorkbench ( ) ) ) . getSMenuManager ( ) ) ;