Bug 264899 Replace context name with computable debug string
Contexts currently are required to have a name, but this string is only used for debugging purposes. We should instead store this "debug string" in the context itself, allowing clients to use a computed value to add additional debug information. We can make this name optional by supplying a default value, which simplifies life for clients that don't care about the name (much as toString() is optional and a default is provided for those who don't care to implement it).
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/WorkbenchApplication.java
}
		}
		final String cssURI = product == null? null:product.getProperty("applicationCSS"); 
		Assert.isNotNull(appURI, "-applicationXMI argument missing"); 
		final URI initialWorkbenchDefinitionInstance = URI
				.createPlatformPluginURI(appURI, true);
		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
			public void run() {
				try {
					
					IEclipseContext serviceContext = EclipseContextFactory.createServiceContext(Activator.getContext());
					IEclipseContext appContext = EclipseContextFactory.create("application", serviceContext, null); 
					if (cssURI != null) {
						WorkbenchStylingSupport.initializeStyling(display, cssURI, appContext);
					} else {
						WorkbenchStylingSupport.initializeNullStyling(appContext);
					}
					IWorkbench wb = workbenchFactory
							.create(initialWorkbenchDefinitionInstance, appContext);
					wb.run();
				} catch (ThreadDeath th) {
					throw th;
				} catch (Exception ex) {
					ex.printStackTrace();
				} catch (Error err) {
					err.printStackTrace();
				}
			}
		});
		return IApplication.EXIT_OK;