public void relateAcrossR39To(DataTypePackage_c target, boolean notifyChanges) { if (target == null) return; if (target == IsContainedInDataTypePackage) return; // already related if (IsContainedInDataTypePackage != target) { Object oldKey = getInstanceKey(); if (IsContainedInDataTypePackage != null) { IsContainedInDataTypePackage.clearBackPointerR39To(this); if (Boolean.valueOf(System.getenv("PTC_MCC_ENABLED")) == true) { // $NON-NLS-1$ Ooaofooa.log.println( ILogger.CONSISTENCY, "DataTypeInPackage_c.relateAcrossR39To(DataTypePackage_c target)", "Relate performed across R39 from Data Type in Package to Data Type Package without unrelate of prior instance."); } } IsContainedInDataTypePackage = target; if (IdAssigner.NULL_UUID.equals(target.getPackage_id())) { // do not update cached value } else { // update cached value m_package_id = target.getPackage_idCachedValue(); } updateInstanceKey(oldKey, getInstanceKey()); target.setBackPointerR39To(this); target.addRef(); if (notifyChanges) { RelationshipChangeModelDelta change = new RelationshipChangeModelDelta( Modeleventnotification_c.DELTA_ELEMENT_RELATED, this, target, "39", ""); Ooaofooa.getDefaultInstance().fireModelElementRelationChanged(change); } } }