Bug 277513 [Compatibility] Remove WorkbenchFactory
The factory is currently used to call the e4 Workbench constructor, but it adds another layer of indirection that we don't need at this point in time. PW
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/Workbench.java
workbenchData = new File(workbenchData, "workbench.xmi"); 
		contributionFactory = new ReflectionContributionFactory(registry);
		resourceSet = new ResourceSetImpl();
		
		
		
		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
				.put(Resource.Factory.Registry.DEFAULT_EXTENSION,
						new XMIResourceFactoryImpl());
		
		
		resourceSet.getPackageRegistry().put(WorkbenchPackage.eNS_URI,
				WorkbenchPackage.eINSTANCE);
		globalContext = createContext(applicationContext, registry,
				exceptionHandler, contributionFactory);
		globalContext.set(IWorkbench.class.getName(), this);
		if (workbenchData != null && workbenchData.exists() && saveAndRestore) {
			createWorkbenchModel(URI.createFileURI(workbenchData
					.getAbsolutePath()), workbenchXmiURI);
		} else {
			createWorkbenchModel(null, workbenchXmiURI);
		}
	}
	public static IEclipseContext createContext(
			final IEclipseContext applicationContext,
			IExtensionRegistry registry, IExceptionHandler exceptionHandler,
			IContributionFactory contributionFactory) {
		final IEclipseContext mainContext = EclipseContextFactory.create(
				applicationContext, UISchedulerStrategy.getInstance());
		mainContext.set(Logger.class.getName(), ContextInjectionFactory.inject(