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
eventHandler);
		for (MPart part : partService.getParts()) {
			track(part);
		}
	}
	@Inject
	void setPart(@Optional @Named(IServiceConstants.ACTIVE_PART) final MPart part) {
		if (part != null) {
			activePart = part;
			IEclipseContext rootContext = serviceRoot.getContext();
			if (rootContext == context) {
				final IEclipseContext partContext = part.getContext();
				Object selection = partContext.get(OUT_SELECTION);
				notifyListeners(part, selection);
				track(part);
			}
		}
	}
	private boolean isInContainer(MPart part) {
		return isInContainer(serviceRoot, part);
	}
	private boolean isInContainer(MElementContainer<?> container, MPart part) {
		for (Object object : container.getChildren()) {
			if (object == part) {
				return true;
			} else if (object instanceof MElementContainer<?>) {
				if (isInContainer((MElementContainer<?>) object, part)) {
					return true;
				}
			}