public void Initialize()
        {
            TCPClient = new TcpClient();
            TCPClient.Connect(Endpoint, Port);
            NetStream = TCPClient.GetStream();
            Org.BouncyCastle.Security.SecureRandom sr = new Org.BouncyCastle.Security.SecureRandom();
            TlsProtocolHandler handler = new TlsProtocolHandler(NetStream, sr);

            handler.Connect(new TrustAllCertificatePolicy());
            Writer = new StreamWriter(NetStream);
            Writer.Write(GetHeader());
            Writer.Flush();
            byte[] buffer    = new byte[1024];
            int    bytesRead = NetStream.Read(buffer, 0, buffer.Length);

            byte[] decompressBuffer = new byte[1024];
            Zlib.DecompressData(buffer, out decompressBuffer);
            string response             = Encoding.ASCII.GetString(buffer, 0, bytesRead);
            string responseDecompressed = Encoding.ASCII.GetString(decompressBuffer, 0, bytesRead);

            Console.WriteLine("=== RESPONSE ===");
            Console.WriteLine(response);
            Console.WriteLine("=== DECOMPRESSED ===");
            Console.WriteLine(responseDecompressed);
            Bytes.ByteArrayToFile("out.raw", buffer);
            byte frameByte = Convert.ToByte("10000001", 2);
        }