public bool Equals(ZeroToken other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } bool audEqual = Audiences.Count == other.Audiences.Count && Audiences.All(other.Audiences.Contains); bool claimsEqual = Claims.Count == other.Claims.Count && Claims.All(other.Claims.Contains); bool result = audEqual && string.Equals(Issuer, other.Issuer) && CreationTime.Equals(other.CreationTime) && Lifetime == other.Lifetime && string.Equals(Type, other.Type) && string.Equals(ClientId, other.ClientId) && AccessTokenType == other.AccessTokenType && claimsEqual && Version == other.Version; return(result); }