Bug 277676 [UI] The workbench should create the contexts
The workbench should create contexts for the model elements, MApplication and MParts (windows, sashes, contributed parts, etc). This is not really the responsibility of the renderers. PW
bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/internal/workbench/WorkbenchPackageImpl.java
g2.getETypeArguments().add(g3);
		mWorkbenchWindowEClass.getEGenericSuperTypes().add(g1);
		g1 = createEGenericType(theApplicationPackage.getMPart());
		g2 = createEGenericType(mProxyPartEClass_P);
		g1.getETypeArguments().add(g2);
		mProxyPartEClass.getEGenericSuperTypes().add(g1);
		g1 = createEGenericType(theApplicationPackage.getMItemPart());
		g2 = createEGenericType(mPerspectiveEClass_P);
		g1.getETypeArguments().add(g2);
		mPerspectiveEClass.getEGenericSuperTypes().add(g1);
		
		initEClass(mWorkbenchWindowEClass, MWorkbenchWindow.class, "MWorkbenchWindow", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 
		g1 = createEGenericType(theApplicationPackage.getMPart());
		g2 = createEGenericType();
		g1.getETypeArguments().add(g2);
		initEReference(getMWorkbenchWindow_SharedParts(), g1, null, "sharedParts", null, 0, -1, MWorkbenchWindow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 
		initEClass(mProxyPartEClass, MProxyPart.class, "MProxyPart", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 
		g1 = createEGenericType(theApplicationPackage.getMPart());
		g2 = createEGenericType();
		g1.getETypeArguments().add(g2);
		initEReference(getMProxyPart_Part(), g1, null, "part", null, 0, 1, MProxyPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 
		initEClass(mPerspectiveEClass, MPerspective.class, "MPerspective", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 
		initEClass(mWorkbenchEClass, MWorkbench.class, "MWorkbench", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 
		initEReference(getMWorkbench_WbWindows(), this.getMWorkbenchWindow(), null, "wbWindows", null, 0, -1, MWorkbench.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 
		initEReference(getMWorkbench_CurWBW(), this.getMWorkbenchWindow(), null, "curWBW", null, 0, 1, MWorkbench.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 
		
		createResource(eNS_URI);
	}
}