Buggy code:
public abstract class PartPane extends LayoutPart implements Listener { protected PresentablePart presentableAdapter = new PresentablePart ( this ) ; public static final String PROP_ZOOMED = "zoomed" ; private boolean isZoomed = false ; private MenuManager paneMenuManager ; protected IWorkbenchPartReference partReference ; protected WorkbenchPage page ; protected Composite control ; private TraverseListener traverseListener = new TraverseListener ( ) { public void keyTraversed ( TraverseEvent e ) { } } ; public static class Sashes { public Sash left ; public Sash right ; public Sash top ; public Sash bottom ; } public PartPane ( IWorkbenchPartReference partReference , WorkbenchPage workbenchPage ) { } protected void doCreateChildControl ( ) { final IWorkbenchPart [ ] part = new IWorkbenchPart [ ] { partReference . getPart ( false ) } ; if ( ( part [ 0 ] ) == null ) return ; Assert . isNotNull ( control ) ; int style = SWT . NONE ; if ( ( part [ 0 ] ) instanceof WorkbenchPart ) { style = ( ( WorkbenchPart ) ( part [ 0 ] ) ) . getOrientation ( ) ; } final Composite content = new Composite ( control , style ) ; content . setLayout ( new FillLayout ( ) ) ; String error = WorkbenchMessages . format ( "PartPane.unableToCreate" , new Object [ ] { partReference . getTitle ( ) } ) ; Platform . run ( new SafeRunnable ( error ) { public void run ( ) { try { UIStats . start ( CREATE_PART_CONTROL , id ) ; part [ 0 ] . createPartControl ( content ) ; Rectangle oldBounds = control . getBounds ( ) ; ( ( WorkbenchPartReference ) ( getPartReference ( ) ) ) . refreshFromPart ( ) ; if ( oldBounds . equals ( control . getBounds ( ) ) ) { control . layout ( true ) ; } } finally { <START_BUG> UIStats . end ( CREATE_PART_CONTROL , id ) ; <END_BUG> } } public void handleException ( Throwable e ) { Workbench wb = ( ( Workbench ) ( PlatformUI . getWorkbench ( ) ) ) ; if ( ! ( wb . isStarting ( ) ) ) super . handleException ( e ) ; Control [ ] children = content . getChildren ( ) ; for ( int i = 0 ; i < ( children . length ) ; i ++ ) { children [ i ] . dispose ( ) ; } IWorkbenchPart newPart = createErrorPart ( part [ 0 ] ) ; part [ 0 ] . getSite ( ) . setSelectionProvider ( null ) ; newPart . createPartControl ( content ) ; ( ( WorkbenchPartReference ) ( partReference ) ) . setPart ( newPart ) ; part [ 0 ] = newPart ; } } ) ; page . addPart ( partReference ) ; page . firePartOpened ( part [ 0 ] ) ; } public void addSizeMenuItem ( Menu menu , int index ) { } public void createControl ( Composite parent ) { } protected abstract IWorkbenchPart createErrorPart ( IWorkbenchPart oldPart ) { } protected abstract void createTitleBar ( ) { } public void dispose ( ) { } public abstract void doHide ( ) { } protected void doZoom ( ) { } public Rectangle getBounds ( ) { } public Control getControl ( ) { } public IWorkbenchPartReference getPartReference ( ) { } public void handleEvent ( Event event ) { } public boolean isZoomed ( ) { } public void moveAbove ( Control refControl ) { } protected void requestActivation ( ) { } public void setContainer ( ILayoutContainer container ) { } public void setVisible ( boolean makeVisible ) { } protected final void createChildControl ( ) { } public void setFocus ( ) { } public void setWorkbenchPage ( WorkbenchPage workbenchPage ) { } public void setZoomed ( boolean isZoomed ) { } abstract void shellActivated ( ) { } abstract void shellDeactivated ( ) { } public abstract void showFocus ( boolean inFocus ) { } public LayoutPart targetPartFor ( LayoutPart dragSource ) { } public PartStack getStack ( ) { } public void showPaneMenu ( ) { } public void showViewMenu ( ) { } protected PartPane . Sashes findSashes ( ) { } protected void moveSash ( final Sash sash ) { } public static void moveSash ( final Sash sash , final LayoutPart toGetFocusWhenDone ) { } protected void addSizeItem ( Menu sizeMenu , String labelMessage , final Sash sash ) { } public WorkbenchPage getPage ( ) { } protected void addSizeItems ( Menu sizeMenu ) { } protected void doDock ( ) { } public void setBusy ( boolean isBusy ) { } public void showHighlight ( ) { } public void reparent ( Composite newParent ) { } public abstract Control getToolBar ( ) { } public boolean hasViewMenu ( ) { } public void showViewMenu ( Point location ) { } public boolean isBusy ( ) { } public IPresentablePart getPresentablePart ( ) { } public abstract boolean isCloseable ( ) { } }

Fix:
UIStats . end ( CREATE_PART_CONTROL , part [ 0 ] , id ) ;