Bug 299529 UI scheduling strategy causes injections to be delayed
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/SelectionServiceImpl.java
}
		return false;
	}
	private void notifyListeners(MPart part, Object selection) {
		for (ISelectionListener listener : genericListeners) {
			listener.selectionChanged(part, selection);
		}
		notifyTargetedListeners(part, selection);
	}
	private void notifyTargetedListeners(MPart part, Object selection) {
		String id = part.getId();
		if (id != null) {
			Set<ISelectionListener> listeners = targetedListeners.get(id);
			if (listeners != null) {
				for (ISelectionListener listener : listeners) {
					listener.selectionChanged(part, selection);
				}
			}
		}
	}
	private void track(final MPart part) {
		final IEclipseContext context = part.getContext();
		if (context != null && tracked.add(context)) {
			context.runAndTrack(new Runnable() {
				private boolean initial = true;
				public void run() {
					Object selection = context.get(OUT_SELECTION);
					if (initial) {
						initial = false;
						if (selection == null) {