public override bool Equals(object obj) { if (obj is null || !(obj is MutablePushState)) { return(false); } MutablePushState other = obj as MutablePushState; return(Equals(Query, other.Query) && Channels.CollectionsEqual(other.Channels) && Equals(Expiration, other.Expiration) && Equals(ExpirationInterval, other.ExpirationInterval) && Equals(PushTime, other.PushTime) && Data.CollectionsEqual(other.Data) && Equals(Alert, other.Alert)); }