Buggy code:
public class ViewPane extends PartPane implements IPropertyListener { private PresentableViewPart presentableAdapter = new PresentableViewPart ( this ) ; private boolean busy = false ; private boolean fast = false ; private boolean showFocus = false ; private boolean locked = true ; ToolBar isvToolBar ; private ToolBarManager isvToolBarMgr ; private MenuManager isvMenuMgr ; boolean hasFocus ; private boolean hadViewMenu = false ; class PaneToolBarManager extends ToolBarManager { public PaneToolBarManager ( ToolBar paneToolBar ) { } protected void relayout ( ToolBar toolBar , int oldCount , int newCount ) { } } class PaneMenuManager extends MenuManager { public PaneMenuManager ( ) { } protected void update ( boolean force , boolean recursive ) { } } public ViewPane ( IViewReference ref , WorkbenchPage page ) { } public void createControl ( Composite parent ) { } protected void createChildControl ( ) { final IWorkbenchPart [ ] part = new IWorkbenchPart [ ] { partReference . getPart ( false ) } ; if ( ( part [ 0 ] ) == null ) return ; <START_BUG> if ( ( ( control ) == null ) || ( ( control . getContent ( ) ) != null ) ) <END_BUG> return ; super . createChildControl ( ) ; Platform . run ( new SafeRunnable ( ) { public void run ( ) { ViewActionBuilder builder = new ViewActionBuilder ( ) ; IViewPart part = ( ( IViewPart ) ( getViewReference ( ) . getPart ( true ) ) ) ; if ( part != null ) { builder . readActionExtensions ( part ) ; ActionDescriptor [ ] actionDescriptors = builder . getExtendedActions ( ) ; KeyBindingService keyBindingService = ( ( KeyBindingService ) ( part . getSite ( ) . getKeyBindingService ( ) ) ) ; if ( actionDescriptors != null ) { for ( int i = 0 ; i < ( actionDescriptors . length ) ; i ++ ) { ActionDescriptor actionDescriptor = actionDescriptors [ i ] ; if ( actionDescriptor != null ) { IAction action = actionDescriptors [ i ] . getAction ( ) ; if ( ( action != null ) && ( ( action . getActionDefinitionId ( ) ) != null ) ) keyBindingService . registerAction ( action ) ; } } } } updateActionBars ( ) ; } public void handleException ( Throwable e ) { } } ) ; } private void recreateToolbars ( ) { } protected WorkbenchPart createErrorPart ( WorkbenchPart oldPart ) { } protected void createTitleBar ( ) { } private void toolBarResized ( ToolBar toolBar , int newSize ) { } private void createToolBars ( ) { } public void dispose ( ) { } public void doHide ( ) { } private Rectangle getParentBounds ( ) { } public void doMakeFast ( ) { } public void doRemoveFast ( ) { } protected void doDock ( ) { } public Control getDragHandle ( ) { } public MenuManager getMenuManager ( ) { } public Control [ ] getTabList ( ) { } public ToolBarManager getToolBarManager ( ) { } public IViewReference getViewReference ( ) { } public void propertyChanged ( Object source , int propId ) { } public void setFast ( boolean b ) { } void shellActivated ( ) { } void shellDeactivated ( ) { } void setActive ( boolean active ) { } public void showFocus ( boolean inFocus ) { } public void showPaneMenu ( ) { } private boolean isFastView ( ) { } boolean isCloseable ( ) { } boolean isMoveable ( ) { } protected Sashes findSashes ( ) { } public boolean hasViewMenu ( ) { } public void showViewMenu ( ) { } public void showViewMenu ( Point location ) { } public String toString ( ) { } public void updateActionBars ( ) { } public void updateTitles ( ) { } public void addSizeMenuItem ( Menu menu , int index ) { } protected void doZoom ( ) { } public void setContainer ( ILayoutContainer container ) { } public IPresentablePart getPresentablePart ( ) { } public void reparent ( Composite newParent ) { } public void moveAbove ( Control refControl ) { } public void setVisible ( boolean makeVisible ) { } protected boolean toolbarIsVisible ( ) { } public void setBusy ( boolean isBusy ) { } public boolean isBusy ( ) { } public void showHighlight ( ) { } public String getPlaceHolderId ( ) { } }

Fix:
if ( ( control ) == null )