{
      if (otherEnd != null)
      {
        int containmentFeatureID = owner.eClass().getFeatureID(eStructuralFeature);
        notifications =
          otherEnd.eInverseRemove
            (owner,
             InternalEObject.EOPPOSITE_FEATURE_BASE - (containmentFeatureID == -1 ? featureID : containmentFeatureID),
             null,
             notifications);
      }

      return notifications;
    }