/// <summary>
        /// The <see cref="RemoteService.Configure"/> implementation method.
        /// </summary>
        /// <remarks>
        /// This method must only be called by a thread that has synchronized
        /// on this RemoteService.
        /// </remarks>
        /// <param name="xml">
        /// The <see cref="IXmlElement"/> containing the new configuration
        /// for this RemoteService.
        /// </param>
        protected override void DoConfigure(IXmlElement xml)
        {
            base.DoConfigure(xml);

            DeferKeyAssociationCheck =
                xml.GetSafeElement("defer-key-association-check")
                .GetBoolean(DeferKeyAssociationCheck);

            // register all Protocols
            IConnectionInitiator initiator = Initiator;

            initiator.RegisterProtocol(CacheServiceProtocol.Instance);
            initiator.RegisterProtocol(NamedCacheProtocol.Instance);
        }
        /// <summary>
        /// The <see cref="RemoteService.Configure"/> implementation method.
        /// </summary>
        /// <remarks>
        /// This method must only be called by a thread that has synchronized
        /// on this RemoteService.
        /// </remarks>
        /// <param name="xml">
        /// The <b>IXmlElement</b> containing the new configuration for this
        /// RemoteService.
        /// </param>
        protected override void DoConfigure(IXmlElement xml)
        {
            base.DoConfigure(xml);

            // register all Protocols
            IConnectionInitiator initiator = Initiator;

            initiator.RegisterProtocol(InvocationServiceProtocol.Instance);
        }
        /// <summary>
        /// The <see cref="RemoteService.Configure"/> implementation method.
        /// </summary>
        /// <remarks>
        /// This method must only be called by a thread that has synchronized
        /// on this RemoteService.
        /// </remarks>
        /// <param name="xml">
        /// The <b>IXmlElement</b> containing the new configuration for this
        /// RemoteService.
        /// </param>
        protected override void DoConfigure(IXmlElement xml)
        {
            base.DoConfigure(xml);

            // register all Protocols
            IConnectionInitiator initiator = Initiator;

            initiator.RegisterProtocol(NameServiceProtocol.Instance);

            if (initiator is Initiator)
            {
                // always use POF for NameService requests
                ((Initiator)initiator).SerializerFactory = this;
            }
        }