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 (parentWidget == null)
			return;
		
		
		for (MUIElement part : me.getChildren()) {
			if (part.isToBeRendered())
				createTab(me, part);
		}
	}
	/**
	 * This method is necessary to allow the parent container to show affordance
	 * (i.e. tabs) for child elements -without- creating the actual part
	 * 
	 * @param me
	 *            The parent model element
	 * @param part
	 *            The child to show the affordance for
	 */
	protected void createTab(MElementContainer<MUIElement> me, MUIElement part) {
	}
	protected void showTab(MUIElement element) {
		
		List<MUIElement> becomingVisible = new ArrayList<MUIElement>();
		MUIElement curSel = element.getParent().getSelectedElement();
		if (curSel != null) {
			showElementRecursive(curSel, becomingVisible);
		}
	}
	private void hideElementRecursive(MUIElement element,
			List<MUIElement> goingHidden) {