Bug 320347 PartServiceImpl#createPart(MPartDescriptor) is wrong!
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/PartServiceImpl.java
private EModelService modelService;
	@Inject
	private Logger logger;
	@Inject
	@Optional
	private ISaveHandler saveHandler;
	@Inject
	private IEventBroker eventBroker;
	private MPart activePart;
	private MPart lastActivePart;
	private ListenerList listeners = new ListenerList();
	private boolean constructed = false;
	public PartServiceImpl() {
		
	}
	@Inject
	void setPart(@Optional @Named(IServiceConstants.ACTIVE_PART) MPart p) {
		if (activePart != p) {
			lastActivePart = activePart;
			activePart = p;
			
			if (constructed && !listeners.isEmpty()) {
				if (lastActivePart != null && lastActivePart != activePart) {
					firePartDeactivated(lastActivePart);
				}
				if (activePart != null) {
					firePartActivated(activePart);
				}
			}
		}