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
sharedPartRef.setRef(sharedPart);
		return sharedPartRef;
	}
	private MPart addPart(MPart providedPart, MPart localPart) {
		
		if (providedPart == localPart && isInContainer(providedPart)) {
			return providedPart;
		}
		MPartDescriptor descriptor = findDescriptor(providedPart.getElementId());
		if (descriptor == null) {
			if (!isInContainer(providedPart)) {
				adjustPlaceholder(providedPart);
				MPartStack stack = BasicFactoryImpl.eINSTANCE.createPartStack();
				MPlaceholder placeholder = providedPart.getCurSharedRef();
				if (placeholder != null) {
					stack.getChildren().add(placeholder);
				} else {
					stack.getChildren().add(providedPart);
				}
				getContainer().getChildren().add(stack);
			}
		} else {
			if (providedPart != localPart && !descriptor.isAllowMultiple()) {
				return localPart;
			}
			if (isInContainer(providedPart)) {
				return providedPart;
			}
			adjustPlaceholder(providedPart);
			String category = descriptor.getCategory();