/// <inheritdoc/> public override int GetHashCode() { unchecked { var hashCode = EqualityComparer <TS> .Default.GetHashCode(StateName); hashCode = (hashCode * 397) ^ EqualityComparer <TD> .Default.GetHashCode(StateData); hashCode = (hashCode * 397) ^ Timeout.GetHashCode(); hashCode = (hashCode * 397) ^ (StopReason != null ? StopReason.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Replies != null ? Replies.GetHashCode() : 0); return(hashCode); } }