Bug 326699 Part in shared area finds wrong parent context during shutdown
Build: 4.1 M2. After working for a couple of days, I attempted to shutdown and got an NPE. I was unable to close the application normally and had to kill the process. Complete log to follow but here is a snippet: java.lang.NullPointerException at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1322) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1059) at org.eclipse.ui.internal.WorkbenchWindow.access$9(WorkbenchWindow.java:1038) at org.eclipse.ui.internal.WorkbenchWindow$6.run(WorkbenchWindow.java:1085) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/internal/workbench/swt/PartRenderingEngine.java
ServiceReference ref = context
					.getServiceReference(IThemeManager.class.getName());
			IThemeManager mgr = (IThemeManager) context.getService(ref);
			final IThemeEngine engine = mgr.getEngineForDisplay(display);
			
			IContributionFactory contribution = (IContributionFactory) appContext
					.get(IContributionFactory.class.getName());
			IEclipseContext cssContext = EclipseContextFactory.create();
			cssContext.set(IContributionFactory.class.getName(), contribution);
			display.setData("org.eclipse.e4.ui.css.context", cssContext); 
			
			if (cssResourcesURI != null) {
				
				engine.registerResourceLocator(new OSGiResourceLocator(
						cssResourcesURI));
			}
			engine.restore(cssTheme);
			
			appContext.set(IThemeEngine.class.getName(), engine);
			appContext.set(IStylingEngine.SERVICE_NAME, new IStylingEngine() {
				public void setClassname(Object widget, String classname) {
					((Widget) widget).setData(
							"org.eclipse.e4.ui.css.CssClassName", classname); 
					engine.applyStyles((Widget) widget, true);
				}
				public void setId(Object widget, String id) {
					((Widget) widget).setData("org.eclipse.e4.ui.css.id", id); 
					engine.applyStyles((Widget) widget, true);
				}
				public void style(Object widget) {