Bug 319061 StackRenderer's showTab(MUIElement) method is invoked twice when showing a part
1. Launch your inner. 2. Put a breakpoint in StackRenderer's showTab(MUIElement) method. 3. Show a view that's not in any of the existing stacks. 4. The breakpoint is hit twice. The problem is because of LazyStackRenderer's 'lazyLoader' EventHandler instance. As there is a PerspectiveStackRenderer and a StackRenderer, both of these instances are hooked to the event broker and two notifications get fired.
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/LazyStackRenderer.java
refCtrl.setParent(phComp);
			phComp.layout(new Control[] { refCtrl }, SWT.DEFER);
			if (ref instanceof MPart
					&& ph.getParent().getWidget() instanceof CTabFolder) {
				
				MPart part = (MPart) ref;
				CTabFolder ctf = (CTabFolder) ph.getParent().getWidget();
				MToolBar tbModel = part.getToolbar();
				if (tbModel != null && tbModel.getWidget() != null) {
					ToolBar oldTB = (ToolBar) tbModel.getWidget();
					if (oldTB.getParent() instanceof CTabFolder) {
						CTabFolder oldCTF = (CTabFolder) oldTB.getParent();
						if (oldCTF.getTopRight() == oldTB)
							oldCTF.setTopRight(null);
					}
					
					Control curTopRight = ctf.getTopRight();
					if (curTopRight != null && !curTopRight.isDisposed())
						curTopRight.dispose();
					oldTB.setParent(ctf);
					ctf.setTopRight(oldTB);
				}
			}
			element = ref;
		}
		if (element instanceof MContext) {
			IEclipseContext context = ((MContext) element).getContext();
			if (context != null) {
				IEclipseContext newParentContext = modelService
						.getContainingContext(element);