public override int GetHashCode()
    {
        int hashcode = 157;

        unchecked {
            if (__isset.hasNext)
            {
                hashcode = (hashcode * 397) + HasNext.GetHashCode();
            }
            if (__isset.reinvokeHour)
            {
                hashcode = (hashcode * 397) + ReinvokeHour.GetHashCode();
            }
            if (__isset.lastVersionSeq)
            {
                hashcode = (hashcode * 397) + LastVersionSeq.GetHashCode();
            }
            if (__isset.productList)
            {
                hashcode = (hashcode * 397) + TCollections.GetHashCode(ProductList);
            }
            if (__isset.recentNewReleaseDate)
            {
                hashcode = (hashcode * 397) + RecentNewReleaseDate.GetHashCode();
            }
            if (__isset.recentEventReleaseDate)
            {
                hashcode = (hashcode * 397) + RecentEventReleaseDate.GetHashCode();
            }
        }
        return(hashcode);
    }
    public override string ToString()
    {
        var  sb      = new StringBuilder("ProductSimpleList(");
        bool __first = true;

        if (__isset.hasNext)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("HasNext: ");
            HasNext.ToString(sb);
        }
        if (__isset.reinvokeHour)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("ReinvokeHour: ");
            ReinvokeHour.ToString(sb);
        }
        if (__isset.lastVersionSeq)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("LastVersionSeq: ");
            LastVersionSeq.ToString(sb);
        }
        if (ProductList != null && __isset.productList)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("ProductList: ");
            ProductList.ToString(sb);
        }
        if (__isset.recentNewReleaseDate)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("RecentNewReleaseDate: ");
            RecentNewReleaseDate.ToString(sb);
        }
        if (__isset.recentEventReleaseDate)
        {
            if (!__first)
            {
                sb.Append(", ");
            }
            __first = false;
            sb.Append("RecentEventReleaseDate: ");
            RecentEventReleaseDate.ToString(sb);
        }
        sb.Append(")");
        return(sb.ToString());
    }