public IServerChannelSink CreateSink(IChannelReceiver channel)
        {
            IServerChannelSink nextSink = null;

            if (_next != null)
            {
                if ((nextSink = _next.CreateSink(channel)) == null)
                {
                    return(null);
                }
            }

            SecureServerChannelSink sSink = new SecureServerChannelSink(nextSink, _algorithm, _connectionAgeLimit, _sweepFrequency, _requireSecurity);

            sSink.OnAuthentication    += new EventHandler <AuthenticationEventArgs>(sSink_OnAuthentication);
            sSink.OnManagementAllowed += new EventHandler <ManagementAllowedEventArgs>(sSink_OnManagementAllowed);
            return(sSink);
        }
        public IServerChannelSink CreateSink(IChannelReceiver channel)
        {
            IServerChannelSink nextSink = null;
            if (_next != null)
            {
                if ((nextSink = _next.CreateSink(channel)) == null) return null;
            }

            SecureServerChannelSink sSink = new SecureServerChannelSink(nextSink, _algorithm, _connectionAgeLimit, _sweepFrequency, _requireSecurity);
            sSink.OnAuthentication += new EventHandler<AuthenticationEventArgs>(sSink_OnAuthentication);
            sSink.OnManagementAllowed += new EventHandler<ManagementAllowedEventArgs>(sSink_OnManagementAllowed);
            return sSink;
        }