public void unrelateAcrossR301From(Graphelement_c target, boolean notifyChanges) { if (target == null) return; if (IsSupertypeGraphelement == null) return; // already unrelated if (target != IsSupertypeGraphelement) { Exception e = new Exception(); e.fillInStackTrace(); CanvasPlugin.logError("Tried to unrelate from non-related instance across R301", e); return; } if (target != null) { target.clearBackPointerR301To(this); } if (IsSupertypeGraphelement != null) { m_elementid = IsSupertypeGraphelement.getElementid(); if (IdAssigner.NULL_UUID.equals(m_elementid)) { m_elementid = IsSupertypeGraphelement.getElementidCachedValue(); } IsSupertypeGraphelement = null; target.removeRef(); if (notifyChanges) { RelationshipChangeModelDelta change = new RelationshipChangeModelDelta( Modeleventnotification_c.DELTA_ELEMENT_UNRELATED, this, target, "301", ""); Ooaofgraphics.getDefaultInstance().fireModelElementRelationChanged(change); } } }