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.swt/src/org/eclipse/e4/ui/workbench/swt/internal/WorkbenchApplication.java
final WorkbenchFactory workbenchFactory = new WorkbenchFactory(
				Activator.getDefault().getInstanceLocation(), Activator
						.getDefault().getBundleAdmin(), RegistryFactory
						.getRegistry());
		String appURI = null;
		String[] args = (String[]) applicationContext.getArguments().get(
				"application.args"); 
		IProduct product = Platform.getProduct();
		if (args.length > 0 && args[0].equals("-applicationXMI")) { 
			appURI = args[1];
		} else if (product != null) {
			String path = product.getProperty("applicationXMI"); 
			if (path != null) {
				appURI = path;
			}
		}
		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.getDefault()
									.getContext());
					IEclipseContext appContext = EclipseContextFactory.create(