Bug 284357 Code in ReflectionContributionFactory duplicates #invoke() - with a twist
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/internal/workbench/swt/E4Application.java
IEclipseContext appContext = createDefaultContext();
		appContext.set(IApplicationContext.class, applicationContext);
		
		IContributionFactory factory = (IContributionFactory) appContext
				.get(IContributionFactory.class.getName());
		
		
		String lifeCycleURI = getArgValue(E4Workbench.LIFE_CYCLE_URI_ARG,
				applicationContext);
		Object lcManager = null;
		if (lifeCycleURI != null) {
			lcManager = factory.create(lifeCycleURI, appContext);
			if (lcManager != null) {
				
				factory.call(lcManager, null, "postContextCreate", appContext,
						null);
			}
		}
		
		MApplication appModel = loadApplicationModel(applicationContext,
				appContext);
		appModel.setContext(appContext);
		
		
		if (!E4Workbench.getServiceContext().containsKey(
				MApplication.class.getName())) {
			
			E4Workbench.getServiceContext().set(MApplication.class.getName(),
					appModel);
		}