gt: 				return basicSetStatusCode(null, msgs);
context: /*******************************************************************************
   * Copyright (c) 2009, 2011 IBM Corporation and others.
   * All rights reserved. This program and the accompanying materials
   * are made available under the terms of the Eclipse Public License v1.0
   * which accompanies this distribution, and is available at
   * http://www.eclipse.org/legal/epl-v10.html
   *
   * Contributors:
   *     IBM Corporation - initial API and implementation
   *******************************************************************************/
  package org.openhealthtools.mdht.uml.cda.impl;
  
  import java.util.Collection;
  import java.util.Map;
  
  import org.eclipse.emf.common.notify.Notification;
  import org.eclipse.emf.common.notify.NotificationChain;
  import org.eclipse.emf.common.util.DiagnosticChain;
  import org.eclipse.emf.common.util.EList;
  import org.eclipse.emf.ecore.EClass;
  import org.eclipse.emf.ecore.InternalEObject;
  import org.eclipse.emf.ecore.impl.ENotificationImpl;
  import org.eclipse.emf.ecore.util.EObjectContainmentEList;
  import org.eclipse.emf.ecore.util.InternalEList;
  import org.openhealthtools.mdht.uml.cda.CDAPackage;
  import org.openhealthtools.mdht.uml.cda.InfrastructureRootTypeId;
  import org.openhealthtools.mdht.uml.cda.Organization;
  import org.openhealthtools.mdht.uml.cda.OrganizationPartOf;
  import org.openhealthtools.mdht.uml.cda.operations.OrganizationPartOfOperations;
  import org.openhealthtools.mdht.uml.hl7.datatypes.CE;
  import org.openhealthtools.mdht.uml.hl7.datatypes.CS;
  import org.openhealthtools.mdht.uml.hl7.datatypes.II;
  import org.openhealthtools.mdht.uml.hl7.datatypes.IVL_TS;
  import org.openhealthtools.mdht.uml.hl7.rim.impl.RoleImpl;
  import org.openhealthtools.mdht.uml.hl7.vocab.NullFlavor;
  import org.openhealthtools.mdht.uml.hl7.vocab.RoleClass;
  
  /**
   * <!-- begin-user-doc -->
   * An implementation of the model object '<em><b>Organization Part Of</b></em>'.
   * <!-- end-user-doc -->
   * <p>
   * The following features are implemented:
   * <ul>
   *   <li>{@link org.openhealthtools.mdht.uml.cda.impl.OrganizationPartOfImpl#getRealmCodes <em>Realm Code</em>}</li>
   *   <li>{@link org.openhealthtools.mdht.uml.cda.impl.OrganizationPartOfImpl#getTypeId <em>Type Id</em>}</li>
   *   <li>{@link org.openhealthtools.mdht.uml.cda.impl.OrganizationPartOfImpl#getTemplateIds <em>Template Id</em>}</li>
   *   <li>{@link org.openhealthtools.mdht.uml.cda.impl.OrganizationPartOfImpl#getIds <em>Id</em>}</li>
   *   <li>{@link org.openhealthtools.mdht.uml.cda.impl.OrganizationPartOfImpl#getCode <em>Code</em>}</li>
   *   <li>{@link org.openhealthtools.mdht.uml.cda.impl.OrganizationPartOfImpl#getStatusCode <em>Status Code</em>}</li>
   *   <li>{@link org.openhealthtools.mdht.uml.cda.impl.OrganizationPartOfImpl#getEffectiveTime <em>Effective Time</em>}</li>
   *   <li>{@link org.openhealthtools.mdht.uml.cda.impl.OrganizationPartOfImpl#getWholeOrganization <em>Whole Organization</em>}</li>
   *   <li>{@link org.openhealthtools.mdht.uml.cda.impl.OrganizationPartOfImpl#getNullFlavor <em>Null Flavor</em>}</li>
   *   <li>{@link org.openhealthtools.mdht.uml.cda.impl.OrganizationPartOfImpl#getClassCode <em>Class Code</em>}</li>
   * </ul>
   * </p>
   *
   * @generated
   */
  public class OrganizationPartOfImpl extends RoleImpl implements OrganizationPartOf {
  	/**
  	 * The cached value of the '{@link #getRealmCodes() <em>Realm Code</em>}' containment reference list.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getRealmCodes()
  	 * @generated
  	 * @ordered
  	 */
  	protected EList<CS> realmCodes;
  
  	/**
  	 * The cached value of the '{@link #getTypeId() <em>Type Id</em>}' containment reference.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getTypeId()
  	 * @generated
  	 * @ordered
  	 */
  	protected InfrastructureRootTypeId typeId;
  
  	/**
  	 * The cached value of the '{@link #getTemplateIds() <em>Template Id</em>}' containment reference list.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getTemplateIds()
  	 * @generated
  	 * @ordered
  	 */
  	protected EList<II> templateIds;
  
  	/**
  	 * The cached value of the '{@link #getIds() <em>Id</em>}' containment reference list.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getIds()
  	 * @generated
  	 * @ordered
  	 */
  	protected EList<II> ids;
  
  	/**
  	 * The cached value of the '{@link #getCode() <em>Code</em>}' containment reference.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getCode()
  	 * @generated
  	 * @ordered
  	 */
  	protected CE code;
  
  	/**
  	 * The cached value of the '{@link #getStatusCode() <em>Status Code</em>}' containment reference.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getStatusCode()
  	 * @generated
  	 * @ordered
  	 */
  	protected CS statusCode;
  
  	/**
  	 * The cached value of the '{@link #getEffectiveTime() <em>Effective Time</em>}' containment reference.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getEffectiveTime()
  	 * @generated
  	 * @ordered
  	 */
  	protected IVL_TS effectiveTime;
  
  	/**
  	 * The cached value of the '{@link #getWholeOrganization() <em>Whole Organization</em>}' containment reference.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getWholeOrganization()
  	 * @generated
  	 * @ordered
  	 */
  	protected Organization wholeOrganization;
  
  	/**
  	 * The default value of the '{@link #getNullFlavor() <em>Null Flavor</em>}' attribute.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getNullFlavor()
  	 * @generated
  	 * @ordered
  	 */
  	protected static final NullFlavor NULL_FLAVOR_EDEFAULT = NullFlavor.ASKU;
  
  	/**
  	 * The cached value of the '{@link #getNullFlavor() <em>Null Flavor</em>}' attribute.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getNullFlavor()
  	 * @generated
  	 * @ordered
  	 */
  	protected NullFlavor nullFlavor = NULL_FLAVOR_EDEFAULT;
  
  	/**
  	 * This is true if the Null Flavor attribute has been set.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 * @ordered
  	 */
  	protected boolean nullFlavorESet;
  
  	/**
  	 * The default value of the '{@link #getClassCode() <em>Class Code</em>}' attribute.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getClassCode()
  	 * @generated
  	 * @ordered
  	 */
  	protected static final RoleClass CLASS_CODE_EDEFAULT = RoleClass.PART;
  
  	/**
  	 * The cached value of the '{@link #getClassCode() <em>Class Code</em>}' attribute.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @see #getClassCode()
  	 * @generated
  	 * @ordered
  	 */
  	protected RoleClass classCode = CLASS_CODE_EDEFAULT;
  
  	/**
  	 * This is true if the Class Code attribute has been set.
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 * @ordered
  	 */
  	protected boolean classCodeESet;
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	protected OrganizationPartOfImpl() {
  		super();
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	protected EClass eStaticClass() {
  		return CDAPackage.Literals.ORGANIZATION_PART_OF;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public EList<CS> getRealmCodes() {
  		if (realmCodes == null) {
  			realmCodes = new EObjectContainmentEList<CS>(CS.class, this, CDAPackage.ORGANIZATION_PART_OF__REALM_CODE);
  		}
  		return realmCodes;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public InfrastructureRootTypeId getTypeId() {
  		return typeId;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public NotificationChain basicSetTypeId(InfrastructureRootTypeId newTypeId, NotificationChain msgs) {
  		InfrastructureRootTypeId oldTypeId = typeId;
  		typeId = newTypeId;
  		if (eNotificationRequired()) {
  			ENotificationImpl notification = new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__TYPE_ID, oldTypeId, newTypeId);
  			if (msgs == null) {
  				msgs = notification;
  			} else {
  				msgs.add(notification);
  			}
  		}
  		return msgs;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public void setTypeId(InfrastructureRootTypeId newTypeId) {
  		if (newTypeId != typeId) {
  			NotificationChain msgs = null;
  			if (typeId != null) {
  				msgs = ((InternalEObject) typeId).eInverseRemove(this, EOPPOSITE_FEATURE_BASE -
  						CDAPackage.ORGANIZATION_PART_OF__TYPE_ID, null, msgs);
  			}
  			if (newTypeId != null) {
  				msgs = ((InternalEObject) newTypeId).eInverseAdd(this, EOPPOSITE_FEATURE_BASE -
  						CDAPackage.ORGANIZATION_PART_OF__TYPE_ID, null, msgs);
  			}
  			msgs = basicSetTypeId(newTypeId, msgs);
  			if (msgs != null) {
  				msgs.dispatch();
  			}
  		} else if (eNotificationRequired()) {
  			eNotify(new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__TYPE_ID, newTypeId, newTypeId));
  		}
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public EList<II> getTemplateIds() {
  		if (templateIds == null) {
  			templateIds = new EObjectContainmentEList<II>(II.class, this, CDAPackage.ORGANIZATION_PART_OF__TEMPLATE_ID);
  		}
  		return templateIds;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public EList<II> getIds() {
  		if (ids == null) {
  			ids = new EObjectContainmentEList<II>(II.class, this, CDAPackage.ORGANIZATION_PART_OF__ID);
  		}
  		return ids;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public CE getCode() {
  		return code;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public NotificationChain basicSetCode(CE newCode, NotificationChain msgs) {
  		CE oldCode = code;
  		code = newCode;
  		if (eNotificationRequired()) {
  			ENotificationImpl notification = new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__CODE, oldCode, newCode);
  			if (msgs == null) {
  				msgs = notification;
  			} else {
  				msgs.add(notification);
  			}
  		}
  		return msgs;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public void setCode(CE newCode) {
  		if (newCode != code) {
  			NotificationChain msgs = null;
  			if (code != null) {
  				msgs = ((InternalEObject) code).eInverseRemove(this, EOPPOSITE_FEATURE_BASE -
  						CDAPackage.ORGANIZATION_PART_OF__CODE, null, msgs);
  			}
  			if (newCode != null) {
  				msgs = ((InternalEObject) newCode).eInverseAdd(this, EOPPOSITE_FEATURE_BASE -
  						CDAPackage.ORGANIZATION_PART_OF__CODE, null, msgs);
  			}
  			msgs = basicSetCode(newCode, msgs);
  			if (msgs != null) {
  				msgs.dispatch();
  			}
  		} else if (eNotificationRequired()) {
  			eNotify(new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__CODE, newCode, newCode));
  		}
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public CS getStatusCode() {
  		return statusCode;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public NotificationChain basicSetStatusCode(CS newStatusCode, NotificationChain msgs) {
  		CS oldStatusCode = statusCode;
  		statusCode = newStatusCode;
  		if (eNotificationRequired()) {
  			ENotificationImpl notification = new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__STATUS_CODE, oldStatusCode, newStatusCode);
  			if (msgs == null) {
  				msgs = notification;
  			} else {
  				msgs.add(notification);
  			}
  		}
  		return msgs;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public void setStatusCode(CS newStatusCode) {
  		if (newStatusCode != statusCode) {
  			NotificationChain msgs = null;
  			if (statusCode != null) {
  				msgs = ((InternalEObject) statusCode).eInverseRemove(this, EOPPOSITE_FEATURE_BASE -
  						CDAPackage.ORGANIZATION_PART_OF__STATUS_CODE, null, msgs);
  			}
  			if (newStatusCode != null) {
  				msgs = ((InternalEObject) newStatusCode).eInverseAdd(this, EOPPOSITE_FEATURE_BASE -
  						CDAPackage.ORGANIZATION_PART_OF__STATUS_CODE, null, msgs);
  			}
  			msgs = basicSetStatusCode(newStatusCode, msgs);
  			if (msgs != null) {
  				msgs.dispatch();
  			}
  		} else if (eNotificationRequired()) {
  			eNotify(new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__STATUS_CODE, newStatusCode, newStatusCode));
  		}
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public IVL_TS getEffectiveTime() {
  		return effectiveTime;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public NotificationChain basicSetEffectiveTime(IVL_TS newEffectiveTime, NotificationChain msgs) {
  		IVL_TS oldEffectiveTime = effectiveTime;
  		effectiveTime = newEffectiveTime;
  		if (eNotificationRequired()) {
  			ENotificationImpl notification = new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__EFFECTIVE_TIME, oldEffectiveTime,
  				newEffectiveTime);
  			if (msgs == null) {
  				msgs = notification;
  			} else {
  				msgs.add(notification);
  			}
  		}
  		return msgs;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public void setEffectiveTime(IVL_TS newEffectiveTime) {
  		if (newEffectiveTime != effectiveTime) {
  			NotificationChain msgs = null;
  			if (effectiveTime != null) {
  				msgs = ((InternalEObject) effectiveTime).eInverseRemove(this, EOPPOSITE_FEATURE_BASE -
  						CDAPackage.ORGANIZATION_PART_OF__EFFECTIVE_TIME, null, msgs);
  			}
  			if (newEffectiveTime != null) {
  				msgs = ((InternalEObject) newEffectiveTime).eInverseAdd(this, EOPPOSITE_FEATURE_BASE -
  						CDAPackage.ORGANIZATION_PART_OF__EFFECTIVE_TIME, null, msgs);
  			}
  			msgs = basicSetEffectiveTime(newEffectiveTime, msgs);
  			if (msgs != null) {
  				msgs.dispatch();
  			}
  		} else if (eNotificationRequired()) {
  			eNotify(new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__EFFECTIVE_TIME, newEffectiveTime,
  				newEffectiveTime));
  		}
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public Organization getWholeOrganization() {
  		return wholeOrganization;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public NotificationChain basicSetWholeOrganization(Organization newWholeOrganization, NotificationChain msgs) {
  		Organization oldWholeOrganization = wholeOrganization;
  		wholeOrganization = newWholeOrganization;
  		if (eNotificationRequired()) {
  			ENotificationImpl notification = new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__WHOLE_ORGANIZATION, oldWholeOrganization,
  				newWholeOrganization);
  			if (msgs == null) {
  				msgs = notification;
  			} else {
  				msgs.add(notification);
  			}
  		}
  		return msgs;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public void setWholeOrganization(Organization newWholeOrganization) {
  		if (newWholeOrganization != wholeOrganization) {
  			NotificationChain msgs = null;
  			if (wholeOrganization != null) {
  				msgs = ((InternalEObject) wholeOrganization).eInverseRemove(this, EOPPOSITE_FEATURE_BASE -
  						CDAPackage.ORGANIZATION_PART_OF__WHOLE_ORGANIZATION, null, msgs);
  			}
  			if (newWholeOrganization != null) {
  				msgs = ((InternalEObject) newWholeOrganization).eInverseAdd(this, EOPPOSITE_FEATURE_BASE -
  						CDAPackage.ORGANIZATION_PART_OF__WHOLE_ORGANIZATION, null, msgs);
  			}
  			msgs = basicSetWholeOrganization(newWholeOrganization, msgs);
  			if (msgs != null) {
  				msgs.dispatch();
  			}
  		} else if (eNotificationRequired()) {
  			eNotify(new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__WHOLE_ORGANIZATION, newWholeOrganization,
  				newWholeOrganization));
  		}
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public NullFlavor getNullFlavor() {
  		return nullFlavor;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public void setNullFlavor(NullFlavor newNullFlavor) {
  		NullFlavor oldNullFlavor = nullFlavor;
  		nullFlavor = newNullFlavor == null
  				? NULL_FLAVOR_EDEFAULT
  				: newNullFlavor;
  		boolean oldNullFlavorESet = nullFlavorESet;
  		nullFlavorESet = true;
  		if (eNotificationRequired()) {
  			eNotify(new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__NULL_FLAVOR, oldNullFlavor, nullFlavor,
  				!oldNullFlavorESet));
  		}
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public void unsetNullFlavor() {
  		NullFlavor oldNullFlavor = nullFlavor;
  		boolean oldNullFlavorESet = nullFlavorESet;
  		nullFlavor = NULL_FLAVOR_EDEFAULT;
  		nullFlavorESet = false;
  		if (eNotificationRequired()) {
  			eNotify(new ENotificationImpl(
  				this, Notification.UNSET, CDAPackage.ORGANIZATION_PART_OF__NULL_FLAVOR, oldNullFlavor,
  				NULL_FLAVOR_EDEFAULT, oldNullFlavorESet));
  		}
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public boolean isSetNullFlavor() {
  		return nullFlavorESet;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public RoleClass getClassCode() {
  		return classCode;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public void setClassCode(RoleClass newClassCode) {
  		RoleClass oldClassCode = classCode;
  		classCode = newClassCode == null
  				? CLASS_CODE_EDEFAULT
  				: newClassCode;
  		boolean oldClassCodeESet = classCodeESet;
  		classCodeESet = true;
  		if (eNotificationRequired()) {
  			eNotify(new ENotificationImpl(
  				this, Notification.SET, CDAPackage.ORGANIZATION_PART_OF__CLASS_CODE, oldClassCode, classCode,
  				!oldClassCodeESet));
  		}
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public void unsetClassCode() {
  		RoleClass oldClassCode = classCode;
  		boolean oldClassCodeESet = classCodeESet;
  		classCode = CLASS_CODE_EDEFAULT;
  		classCodeESet = false;
  		if (eNotificationRequired()) {
  			eNotify(new ENotificationImpl(
  				this, Notification.UNSET, CDAPackage.ORGANIZATION_PART_OF__CLASS_CODE, oldClassCode,
  				CLASS_CODE_EDEFAULT, oldClassCodeESet));
  		}
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public boolean isSetClassCode() {
  		return classCodeESet;
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	public boolean validateClassCode(DiagnosticChain diagnostics, Map<Object, Object> context) {
  		return OrganizationPartOfOperations.validateClassCode(this, diagnostics, context);
  	}
  
  	/**
  	 * <!-- begin-user-doc -->
  	 * <!-- end-user-doc -->
  	 * @generated
  	 */
  	@Override
  	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
  		switch (featureID) {
  			case CDAPackage.ORGANIZATION_PART_OF__REALM_CODE:
  				return ((InternalEList<?>) getRealmCodes()).basicRemove(otherEnd, msgs);
  			case CDAPackage.ORGANIZATION_PART_OF__TYPE_ID:
  				return basicSetTypeId(null, msgs);
  			case CDAPackage.ORGANIZATION_PART_OF__TEMPLATE_ID:
  				return ((InternalEList<?>) getTemplateIds()).basicRemove(otherEnd, msgs);
  			case CDAPackage.ORGANIZATION_PART_OF__ID:
  				return ((InternalEList<?>) getIds()).basicRemove(otherEnd, msgs);
  			case CDAPackage.ORGANIZATION_PART_OF__CODE:
  				return basicSetCode(null, msgs);
  			case CDAPackage.ORGANIZATION_PART_OF__STATUS_CODE:
  