Bug 327044 EPartService's hidePart(*) should unset the part's parent element if the part is the selected element
It is not valid to have a selected element that's TBR flag is 'false'.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartServiceImpl.java
public void activate(MPart part) {
		activate(part, true);
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * org.eclipse.e4.ui.workbench.modeling.EPartService#activate(org.eclipse.e4.ui.model.application
	 * .MPart,boolean)
	 */
	public void activate(MPart part, boolean requiresFocus) {
		
		if (!isInContainer(part)) {
			return;
		}
		MWindow window = getWindow();
		IEclipseContext windowContext = window.getContext();
		
		if (windowContext.getParent().get(IContextConstants.ACTIVE_CHILD) == windowContext
				&& part == activePart) {
			return;
		}
		modelService.bringToTop(window, part);
		IEclipseContext context = part.getContext();
		IEclipseContext parent = context.getParent();
		while (parent != null) {
			parent.set(IContextConstants.ACTIVE_CHILD, context);
			context = parent;
			parent = parent.getParent();
		}