Bug 343033 [Model] Allow reflective method invocation
tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/model/test/impl/TestHarnessImpl.java
int featureID, NotificationChain msgs) {
		switch (featureID) {
			case MTestPackage.TEST_HARNESS__PARENT:
				if (eInternalContainer() != null)
					msgs = eBasicRemoveFromContainer(msgs);
				return basicSetParent((MElementContainer<MUIElement>)otherEnd, msgs);
			case MTestPackage.TEST_HARNESS__CHILDREN:
				return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs);
		}
		return super.eInverseAdd(otherEnd, featureID, msgs);
	}
	/**
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public NotificationChain eInverseRemove(InternalEObject otherEnd,
			int featureID, NotificationChain msgs) {
		switch (featureID) {
			case MTestPackage.TEST_HARNESS__PARAMETERS:
				return ((InternalEList<?>)getParameters()).basicRemove(otherEnd, msgs);
			case MTestPackage.TEST_HARNESS__PROPERTIES:
				return ((InternalEList<?>)((EMap.InternalMapView<String, String>)getProperties()).eMap()).basicRemove(otherEnd, msgs);
			case MTestPackage.TEST_HARNESS__PERSISTED_STATE:
				return ((InternalEList<?>)((EMap.InternalMapView<String, String>)getPersistedState()).eMap()).basicRemove(otherEnd, msgs);
			case MTestPackage.TEST_HARNESS__PARENT:
				return basicSetParent(null, msgs);
			case MTestPackage.TEST_HARNESS__VISIBLE_WHEN:
				return basicSetVisibleWhen(null, msgs);
			case MTestPackage.TEST_HARNESS__CHILDREN: