/// <summary>
        /// Sends client protocol version and checks protocol version supported by server.
        /// Overriden version sends additional information to make connection persistent.
        /// </summary>
        protected override void SendHandshake()
        {
            base.SendHandshake();
            // send ad-hoc 'persistent connection' command
            IBinaryWriter writer = FormatterFactory.CreateWriter(DataStream);

            _persistCommandInfo.Serialize(writer);

            // command body length
            writer.Write(sizeof(int));
            // enable persistent connection boolean flag
            writer.Write(PERSIST_COMMAND_BODY);
            DataStream.Flush();
        }