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
if (context.getParent() != newParentContext) {
					
					
					context.setParent(newParentContext);
				}
			}
		}
		
		if (element instanceof MPartStack && !element.isVisible()) {
			MWindow window = modelService.getTopLevelWindowFor(element);
			String trimId = element.getElementId() + "(minimized)"; 
			MPerspective persp = modelService.getPerspectiveFor(element);
			if (persp != null)
				trimId = element.getElementId() + '(' + persp.getElementId()
						+ ')';
			MToolControl trimCtrl = (MToolControl) modelService.find(trimId,
					window);
			if (trimCtrl != null)
				trimCtrl.setVisible(true);
		}
		
		if (element instanceof MWindow && element.getWidget() != null) {
			int visCount = 0;
			for (MUIElement kid : ((MWindow) element).getChildren()) {
				if (kid.isToBeRendered() && kid.isVisible())
					visCount++;
			}
			if (visCount > 0)
				element.setVisible(true);
		}