Bug 326300 EPartService's activate(MPart) method may not work if you activate the window's active part
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartServiceImpl.java
* (non-Javadoc)
	 * 
	 * @see
	 * org.eclipse.e4.ui.workbench.modeling.EPartService#activate(org.eclipse.e4.ui.model.application
	 * .MPart)
	 */
	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 (part == activePart)
			return;
		if (!isInContainer(part)) {
			return;
		}
		modelService.bringToTop(getWindow(), part);
		IEclipseContext context = part.getContext();
		IEclipseContext parent = context.getParent();
		while (parent != null) {
			parent.set(IContextConstants.ACTIVE_CHILD, context);
			context = parent;
			parent = parent.getParent();
		}