Bug 307129 Window context never disposed
1) Run Window->Open Window in legacy IDE -> A context is created for the new window 2) Close the new window -> The context is not disposed
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/SelectionServiceImpl.java
private void notifyTargetedListeners(MPart part, Object selection) {
		String id = part.getElementId();
		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) {
		IEclipseContext context = part.getContext();
		if (context != null && tracked.add(context)) {
			context.runAndTrack(new IRunAndTrack() {
				private boolean initial = true;
				public boolean notify(ContextChangeEvent event) {
					if (event.getEventType() == ContextChangeEvent.DISPOSE)
						return false;
					Object selection = event.getContext().get(OUT_SELECTION);
					if (initial) {
						initial = false;
						if (selection == null) {
							return true;
						}
					}
					if (activePart == part) {
						notifyListeners(part, selection);
					} else {
						notifyTargetedListeners(part, selection);