public static ProtocolVersion Get(int major, int minor)
        {
            if (major != 3)
            {
                if (major != 254)
                {
                    throw new TlsFatalAlert(47);
                }
                switch (minor)
                {
                case 253:
                    return(ProtocolVersion.DTLSv12);

                case 254:
                    throw new TlsFatalAlert(47);

                case 255:
                    return(ProtocolVersion.DTLSv10);

                default:
                    return(ProtocolVersion.GetUnknownVersion(major, minor, "DTLS"));
                }
            }
            else
            {
                switch (minor)
                {
                case 0:
                    return(ProtocolVersion.SSLv3);

                case 1:
                    return(ProtocolVersion.TLSv10);

                case 2:
                    return(ProtocolVersion.TLSv11);

                case 3:
                    return(ProtocolVersion.TLSv12);

                default:
                    return(ProtocolVersion.GetUnknownVersion(major, minor, "TLS"));
                }
            }
        }