Bug 303305 EPS cannot handle being asked for from the application's context
Right now we have this... @Inject @Named(EPartService.PART_SERVICE_ROOT) private MElementContainer<MUIElement> rootContainer; ...which will be 'null' if the question was posed to the application's context. Right now, I cannot use EPS in the SaveHandler because I get an (effectively) useless EPartService (filled with null fields).
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/PartServiceImpl.java
if (parentPart == null) {
			return;
		}
		IEclipseContext parentContext = parentPart.getContext();
		IEclipseContext oldContext = oldSelectedElement.getContext();
		Object child = parentContext.get(IContextConstants.ACTIVE_CHILD);
		if (child == oldContext) {
			parentContext.set(IContextConstants.ACTIVE_CHILD, part == null ? null : part
					.getContext());
		}
	}
	public MPart findPart(String id) {
		MApplicationElement element = modelService.find(id, rootContainer);
		return element instanceof MPart ? (MPart) element : null;
	}
	public Collection<MPart> getParts() {
		return modelService.findElements(rootContainer, null, MPart.class, null);
	}
	public boolean isPartVisible(MPart part) {
		if (isInContainer(part)) {
			MElementContainer<?> parent = part.getParent();
			if (parent instanceof MPartStack) {
				return parent.getSelectedElement() == part;
			}
			return part.isVisible();
		}
		return false;
	}
	private boolean isInContainer(MPart part) {
		return isInContainer(rootContainer, part);