Bug 343033 [Model] Allow reflective method invocation
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/model/test/impl/TestHarnessImpl.java
@Override
	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
		if (baseClass == MCommand.class) {
			switch (derivedFeatureID) {
				case MTestPackage.TEST_HARNESS__COMMAND_NAME: return CommandsPackageImpl.COMMAND__COMMAND_NAME;
				case MTestPackage.TEST_HARNESS__DESCRIPTION: return CommandsPackageImpl.COMMAND__DESCRIPTION;
				case MTestPackage.TEST_HARNESS__PARAMETERS: return CommandsPackageImpl.COMMAND__PARAMETERS;
				case MTestPackage.TEST_HARNESS__CATEGORY: return CommandsPackageImpl.COMMAND__CATEGORY;
				default: return -1;
			}
		}
		if (baseClass == MContext.class) {
			switch (derivedFeatureID) {
				case MTestPackage.TEST_HARNESS__CONTEXT: return UiPackageImpl.CONTEXT__CONTEXT;
				case MTestPackage.TEST_HARNESS__VARIABLES: return UiPackageImpl.CONTEXT__VARIABLES;
				case MTestPackage.TEST_HARNESS__PROPERTIES: return UiPackageImpl.CONTEXT__PROPERTIES;
				default: return -1;
			}
		}
		if (baseClass == MContribution.class) {
			switch (derivedFeatureID) {
				case MTestPackage.TEST_HARNESS__CONTRIBUTION_URI: return ApplicationPackageImpl.CONTRIBUTION__CONTRIBUTION_URI;
				case MTestPackage.TEST_HARNESS__OBJECT: return ApplicationPackageImpl.CONTRIBUTION__OBJECT;
				case MTestPackage.TEST_HARNESS__PERSISTED_STATE: return ApplicationPackageImpl.CONTRIBUTION__PERSISTED_STATE;
				default: return -1;
			}
		}
		if (baseClass == MUIElement.class) {
			switch (derivedFeatureID) {
				case MTestPackage.TEST_HARNESS__WIDGET: return UiPackageImpl.UI_ELEMENT__WIDGET;