Bug 343033 [Model] Allow reflective method invocation
bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/impl/UiPackageImpl.java
public void initializePackageContents() {
		if (isInitialized) return;
		isInitialized = true;
		
		setName(eNAME);
		setNsPrefix(eNS_PREFIX);
		setNsURI(eNS_URI);
		
		MenuPackageImpl theMenuPackage = (MenuPackageImpl)EPackage.Registry.INSTANCE.getEPackage(MenuPackageImpl.eNS_URI);
		BasicPackageImpl theBasicPackage = (BasicPackageImpl)EPackage.Registry.INSTANCE.getEPackage(BasicPackageImpl.eNS_URI);
		AdvancedPackageImpl theAdvancedPackage = (AdvancedPackageImpl)EPackage.Registry.INSTANCE.getEPackage(AdvancedPackageImpl.eNS_URI);
		ApplicationPackageImpl theApplicationPackage = (ApplicationPackageImpl)EPackage.Registry.INSTANCE.getEPackage(ApplicationPackageImpl.eNS_URI);
		
		getESubpackages().add(theMenuPackage);
		getESubpackages().add(theBasicPackage);
		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);