public void unrelateAcrossR603From(Statement_c target, boolean notifyChanges) {
    if (target == null) return;

    if (IsSupertypeStatement == null) return; // already unrelated

    if (target != IsSupertypeStatement) {
      Exception e = new Exception();
      e.fillInStackTrace();
      CorePlugin.logError("Tried to unrelate from non-related instance across R603", e);
      return;
    }

    if (target != null) {
      target.clearBackPointerR603To(this);
    }

    if (IsSupertypeStatement != null) {

      m_statement_id = IsSupertypeStatement.getStatement_id();
      IsSupertypeStatement = null;
      target.removeRef();
    }
  }