Bug 316298 [Compatibility] Support o.e.ui.menus visibleWhen
We need support in MCoreExpression for entire expressions created by the WorkbenchMenuService. They don't often use ReferenceExpressions to core expression definitions. PW
bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/impl/UiPackageImpl.java
getESubpackages().add(theAdvancedPackage);
		
		ETypeParameter elementContainerEClass_T = addETypeParameter(elementContainerEClass, "T"); 
		ETypeParameter genericStackEClass_T = addETypeParameter(genericStackEClass, "T"); 
		ETypeParameter genericTileEClass_T = addETypeParameter(genericTileEClass, "T"); 
		ETypeParameter genericTrimContainerEClass_T = addETypeParameter(genericTrimContainerEClass, "T"); 
		
		EGenericType g1 = createEGenericType(this.getUIElement());
		elementContainerEClass_T.getEBounds().add(g1);
		g1 = createEGenericType(this.getUIElement());
		genericStackEClass_T.getEBounds().add(g1);
		g1 = createEGenericType(this.getUIElement());
		genericTileEClass_T.getEBounds().add(g1);
		g1 = createEGenericType(this.getUIElement());
		genericTrimContainerEClass_T.getEBounds().add(g1);
		
		uiElementEClass.getESuperTypes().add(theApplicationPackage.getApplicationElement());
		elementContainerEClass.getESuperTypes().add(this.getUIElement());
		g1 = createEGenericType(this.getElementContainer());
		EGenericType g2 = createEGenericType(genericStackEClass_T);
		g1.getETypeArguments().add(g2);
		genericStackEClass.getEGenericSuperTypes().add(g1);
		g1 = createEGenericType(this.getElementContainer());
		g2 = createEGenericType(genericTileEClass_T);
		g1.getETypeArguments().add(g2);
		genericTileEClass.getEGenericSuperTypes().add(g1);
		g1 = createEGenericType(this.getElementContainer());
		g2 = createEGenericType(genericTrimContainerEClass_T);
		g1.getETypeArguments().add(g2);
		genericTrimContainerEClass.getEGenericSuperTypes().add(g1);