Bug 304586 Injected methods only react to changes to method arguments
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/PartServiceImpl.java
@Optional
	
	private MElementContainer<MUIElement> rootContainer;
	@Inject
	private IPresentationEngine engine;
	@Inject
	private EModelService modelService;
	@Inject
	private Logger logger;
	@Inject
	private ISaveHandler saveHandler;
	@Inject
	private IEventBroker eventBroker;
	private MPart activePart;
	private MPart lastActivePart;
	private ListenerList listeners = new ListenerList();
	private boolean constructed = false;
	@Inject
	void setPart(@Optional @Named(IServiceConstants.ACTIVE_PART) MPart p) {
		lastActivePart = activePart;
		activePart = p;
		if (constructed) {
			if (lastActivePart != null && lastActivePart != activePart) {
				firePartDeactivated(lastActivePart);
			}
			if (activePart != null) {
				firePartActivated(activePart);
			}
		}
	}