Bug 326175 WBWRenderer arbitrarily modifies the window's parent's active context chain
The window's parent's context arbitrarily changes its active child to the window being rendered in createWidget(*).
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/WBWRenderer.java
wbwModel.getTags().add("topLevel"); 
		} else if (wbwModel.getTags().contains("dragHost")) { 
			wbwShell = new Shell(parentShell, SWT.BORDER);
			wbwShell.setAlpha(110);
		} else {
			wbwShell = new Shell(parentShell, SWT.TOOL | SWT.TITLE | SWT.RESIZE
					| SWT.CLOSE);
		}
		wbwShell.setBackgroundMode(SWT.INHERIT_DEFAULT);
		wbwShell.setBounds(wbwModel.getX(), wbwModel.getY(),
				wbwModel.getWidth(), wbwModel.getHeight());
		setCSSInfo(wbwModel, wbwShell);
		
		IEclipseContext localContext = getContext(wbwModel);
		localContext.activate();
		
		CSSEngineHelper helper = new CSSEngineHelper(localContext, wbwShell);
		TrimmedPartLayout tl = new TrimmedPartLayout(wbwShell);
		tl.gutterTop = helper.getMarginTop(0);
		tl.gutterBottom = helper.getMarginBottom(0);
		tl.gutterLeft = helper.getMarginLeft(0);
		tl.gutterRight = helper.getMarginRight(0);
		wbwShell.setLayout(tl);
		newWidget = wbwShell;
		bindWidget(element, newWidget);
		
		localContext.set(Shell.class.getName(), wbwShell);
		localContext.set(E4Workbench.LOCAL_ACTIVE_SHELL, wbwShell);
		setCloseHandler(wbwModel);
		localContext.set(IShellProvider.class.getName(), new IShellProvider() {