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
context.set(EPartService.PART_SERVICE_ROOT, element);
					}
				}
			}
		};
		broker.subscribe(UIEvents.buildTopic(UIEvents.Context.TOPIC, UIEvents.Context.CONTEXT),
				windowHandler);
	}
	private EventHandler selectedHandler = new EventHandler() {
		public void handleEvent(Event event) {
			Object oldSelected = event.getProperty(UIEvents.EventTags.OLD_VALUE);
			Object selected = event.getProperty(UIEvents.EventTags.NEW_VALUE);
			MPart oldSelectedPart = oldSelected instanceof MPart ? (MPart) oldSelected : null;
			MPart selectedPart = selected instanceof MPart ? (MPart) selected : null;
			if (oldSelectedPart != null) {
				firePartHidden(oldSelectedPart);
			}
			if (selectedPart != null && selectedPart.isToBeRendered()) {
				firePartVisible(selectedPart);
				firePartBroughtToTop(selectedPart);
			}
		}
	};
	@Inject
	private MApplication application;
	/**
	 * This is the specific implementation. TODO: generalize it
	 */
	@Inject
	@Named(EPartService.PART_SERVICE_ROOT)