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
public MPlaceholder createSharedPart(String id) {
		return createSharedPart(id, false);
	}
	public MPlaceholder createSharedPart(String id, boolean force) {
		MWindow sharedWindow = getWindow();
		
		MPart sharedPart = null;
		
		if (!force) {
			for (MUIElement element : sharedWindow.getSharedElements()) {
				if (element.getElementId().equals(id)) {
					sharedPart = (MPart) element;
					break;
				}
			}
		}
		if (sharedPart == null) {
			MPartDescriptor descriptor = findDescriptor(id);
			sharedPart = createPart(descriptor);
			if (sharedPart == null) {
				return null;
			}
			sharedWindow.getSharedElements().add(sharedPart);
		}
		return createSharedPart(sharedPart);
	}
	private MPlaceholder createSharedPart(MPart sharedPart) {
		
		MPlaceholder sharedPartRef = AdvancedFactoryImpl.eINSTANCE.createPlaceholder();
		sharedPartRef.setElementId(sharedPart.getElementId());