Bug 341273 ESS will not work without parts
While windows without any parts probably isn't a very interesting shape, it is still possible to create such a thing. In this scenario, the ESS may not work properly because we rely solely on the active part for selection information. It should be possible to have a selection at the window level as-is.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/SelectionServiceImpl.java
void setPart(@Optional @Named(IServiceConstants.ACTIVE_PART) final MPart part) {
		if ((part != null) && (activePart != part)) {
			activePart = part;
			if (isMasterService()) {
				IEclipseContext partContext = part.getContext();
				
				if (partContext.containsKey(OUT_SELECTION)) {
					Object selection = partContext.get(OUT_SELECTION);
					notifyListeners(part, selection);
				}
				track(part);
			} else {
				IEclipseContext partContext = part.getContext();
				
				
				if (partContext.containsKey(OUT_SELECTION)) {
					Object selection = partContext.getLocal(OUT_SELECTION);
					serviceRoot.getContext().set(IServiceConstants.ACTIVE_SELECTION, selection);
					if (isMasterService()) {
						context.set(IServiceConstants.ACTIVE_SELECTION, selection);
					}
				}
			}
		}
	}
	private boolean isInContainer(MPart part) {
		return isInContainer((MElementContainer<?>) serviceRoot, part);
	}
	private boolean isInContainer(MElementContainer<?> container, MPart part) {
		for (Object object : container.getChildren()) {