public override int GetHashCode()
        {
            int hash = 1;

            if (BatcherPublicKey.Length != 0)
            {
                hash ^= BatcherPublicKey.GetHashCode();
            }
            hash ^= dependencies_.GetHashCode();
            if (FamilyName.Length != 0)
            {
                hash ^= FamilyName.GetHashCode();
            }
            if (FamilyVersion.Length != 0)
            {
                hash ^= FamilyVersion.GetHashCode();
            }
            hash ^= inputs_.GetHashCode();
            if (Nonce.Length != 0)
            {
                hash ^= Nonce.GetHashCode();
            }
            hash ^= outputs_.GetHashCode();
            if (PayloadSha512.Length != 0)
            {
                hash ^= PayloadSha512.GetHashCode();
            }
            if (SignerPublicKey.Length != 0)
            {
                hash ^= SignerPublicKey.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        /// <summary>
        /// Gets the default model for the specified standard family.
        /// </summary>
        /// <param name="standardFamily">The standard family to get the default model for.</param>
        private void SetModelToDefault(StandardFamily standardFamily)
        {
            Version dataSchemaVersion = FamilyVersion.GetDataSchemaVersions(standardFamily).First();

            FamilyVersion = new FamilyVersion(standardFamily, dataSchemaVersion);
        }