Bug 263544 [context] Add dependency injection context -> user object
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/Workbench.java
resourceSet.getPackageRegistry().put(WorkbenchPackage.eNS_URI,
				WorkbenchPackage.eINSTANCE);
		processLanguages();
		globalContext = createContext();
		if (workbenchData != null && workbenchData.exists() && saveAndRestore) {
			createWorkbenchModel(workbenchData.getAbsolutePath(),
					workbenchXmiURI);
		} else {
			createWorkbenchModel(null, workbenchXmiURI);
		}
	}
	private IEclipseContext createContext() {
		
		modelService = new ModelService(Platform.getAdapterManager());
		resourceUtility = new ResourceUtility(packageAdmin);
		final IEclipseContext mainContext = EclipseContextFactory.create(
				"globalContext", UIContextScheduler.instance); 
		IConfigurationElement[] contributions = registry
				.getConfigurationElementsFor("org.eclipse.e4.services"); 
		for (IConfigurationElement contribution : contributions) {
			try {
				for (IConfigurationElement serviceElement : contribution
						.getChildren("service")) { 
					Object factory = contribution
							.createExecutableExtension("class"); 
					String apiClassname = serviceElement.getAttribute("api"); 
					mainContext.set(apiClassname, factory);
				}