public void Create()
        {
            var version    = new Version(1, 2, 3, 4);
            var messageUri = new Uri(@"net.pipe://localhost/pipe/sendingEndpoint");
            var dataUri    = new Uri(@"net.pipe://localhost/pipe/sendingEndpoint/Data");
            var info       = new ProtocolInformation(version, messageUri, dataUri);

            Assert.AreEqual(version, info.Version);
            Assert.AreSame(messageUri, info.MessageAddress);
            Assert.AreSame(dataUri, info.DataAddress);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="EndpointInformation"/> class.
        /// </summary>
        /// <param name="id">The endpoint ID of the endpoint which is being described by the current information instance.</param>
        /// <param name="discoveryInformation">The discovery information for the endpoint.</param>
        /// <param name="protocolInformation">The protocol information for the endpoint.</param>
        /// <exception cref="ArgumentNullException">
        ///     Thrown if <paramref name="id"/> is <see langword="null" />.
        /// </exception>
        /// <exception cref="ArgumentNullException">
        ///     Thrown if <paramref name="discoveryInformation"/> is <see langword="null" />.
        /// </exception>
        /// <exception cref="ArgumentNullException">
        ///     Thrown if <paramref name="protocolInformation"/> is <see langword="null" />.
        /// </exception>
        public EndpointInformation(EndpointId id, DiscoveryInformation discoveryInformation, ProtocolInformation protocolInformation)
        {
            {
                Lokad.Enforce.Argument(() => id);
                Lokad.Enforce.Argument(() => discoveryInformation);
                Lokad.Enforce.Argument(() => protocolInformation);
            }

            m_Id = id;
            m_DiscoveryInformation = discoveryInformation;
            m_ProtocolInformation  = protocolInformation;
        }