public override int GetHashCode()
        {
            var code = OfflineAccess.GetHashCode();

            foreach (var apiResource in ApiResources)
            {
                code ^= apiResource.GetHashCode();
            }
            foreach (var identityResource in IdentityResources)
            {
                code ^= identityResource.GetHashCode();
            }
            return(code);
        }
        public override bool Equals(object obj)
        {
            var other = obj as ResourcesModel;

            if (other == null)
            {
                return(false);
            }
            var result = ApiResources.SafeListEquals(other.ApiResources) &&
                         OfflineAccess.SafeEquals(other.OfflineAccess) &&
                         IdentityResources.SafeListEquals(other.IdentityResources);

            return(result);
        }