/// <summary>
        /// Serialize specified <b>ISessionModel</b>.
        /// </summary>
        /// <param name="model">
        /// The <b>ISessionModel</b> to serialize.
        /// </param>
        /// <returns>
        /// The serialized form of the given <b>ISessionModel</b>.
        /// </returns>
        protected virtual Binary Serialize(ISessionModel model)
        {
            BinaryMemoryStream stream = new BinaryMemoryStream(4 * 1024);

            using (DataWriter writer = new DataWriter(stream))
            {
                model.WriteExternal(writer);
                return(stream.ToBinary());
            }
        }