/// <summary>
        /// Initializes a new instance of the <see cref="SubscribeRequestMessage"/> class.
        /// </summary>
        /// <remarks>
        /// Generally used in deserialization routines.
        /// </remarks>
        public SubscribeRequestMessage()
        {
#pragma warning disable 618
            this.body = new SubscribeRequestMessageBody();
#pragma warning restore 618
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="SubscribeRequestMessage"/> class with
        /// the supplied <see cref="Delivery"/> value and optional <see cref="EndpointAddress"/>
        /// containing the endpoint to contact when a subscription is ended by the
        /// <see cref="IEventSource">event source</see>.
        /// </summary>
        /// <remarks>
        /// Generally used by client subscribers.
        /// </remarks>
        public SubscribeRequestMessage(Delivery delivery, EndpointAddress endTo)
        {
            Contract.Requires <ArgumentNullException>(delivery != null, "delivery");

            this.body = new SubscribeRequestMessageBody(delivery, endTo);
        }