public override int GetHashCode()
        {
            int hashCode = 1892852076;

            if (Type != null)
            {
                hashCode += Type.GetHashCode();
            }

            if (Name != null)
            {
                hashCode += Name.GetHashCode();
            }

            if (Description != null)
            {
                hashCode += Description.GetHashCode();
            }

            if (SourceApplication != null)
            {
                hashCode += SourceApplication.GetHashCode();
            }

            if (AllowedObjectTypes != null)
            {
                hashCode += AllowedObjectTypes.GetHashCode();
            }

            if (SellerVisibility != null)
            {
                hashCode += SellerVisibility.GetHashCode();
            }

            if (AppVisibility != null)
            {
                hashCode += AppVisibility.GetHashCode();
            }

            if (StringConfig != null)
            {
                hashCode += StringConfig.GetHashCode();
            }

            if (NumberConfig != null)
            {
                hashCode += NumberConfig.GetHashCode();
            }

            if (SelectionConfig != null)
            {
                hashCode += SelectionConfig.GetHashCode();
            }

            if (CustomAttributeUsageCount != null)
            {
                hashCode += CustomAttributeUsageCount.GetHashCode();
            }

            if (Key != null)
            {
                hashCode += Key.GetHashCode();
            }

            return(hashCode);
        }