public int GetHashCode(RelatedDataObjectOutdatedEvent <TDataObjectId> obj)
 {
     unchecked
     {
         var hashCode = obj.DataObjectType.GetHashCode();
         hashCode = (hashCode * 397) ^ obj.RelatedDataObjectType.GetHashCode();
         hashCode = (hashCode * 397) ^ obj.RelatedDataObjectId.GetHashCode();
         return(hashCode);
     }
 }
 public bool Equals(RelatedDataObjectOutdatedEvent <TDataObjectId> x, RelatedDataObjectOutdatedEvent <TDataObjectId> y)
 {
     if (ReferenceEquals(x, y))
     {
         return(true);
     }
     if (ReferenceEquals(x, null))
     {
         return(false);
     }
     if (ReferenceEquals(y, null))
     {
         return(false);
     }
     if (x.GetType() != y.GetType())
     {
         return(false);
     }
     return(x.DataObjectType == y.DataObjectType && x.RelatedDataObjectType == y.RelatedDataObjectType && x.RelatedDataObjectId.Equals(y.RelatedDataObjectId));
 }