public void unrelateAcrossR39From(DataType_c target, boolean notifyChanges) { if (target == null) return; if (ContainsDataType == null) return; // already unrelated if (target != ContainsDataType) { Exception e = new Exception(); e.fillInStackTrace(); CorePlugin.logError("Tried to unrelate from non-related instance across R39", e); return; } if (target != null) { target.clearBackPointerR39To(this); } if (ContainsDataType != null) { m_dt_id = ContainsDataType.getDt_id(); if (IdAssigner.NULL_UUID.equals(m_dt_id)) { m_dt_id = ContainsDataType.getDt_idCachedValue(); } ContainsDataType = null; target.removeRef(); if (notifyChanges) { RelationshipChangeModelDelta change = new RelationshipChangeModelDelta( Modeleventnotification_c.DELTA_ELEMENT_UNRELATED, this, target, "39", ""); Ooaofooa.getDefaultInstance().fireModelElementRelationChanged(change); } } }