/// <summary>Destroys the filter.</summary>
 /// <remarks>
 /// Destroys the filter.
 /// <p>
 /// It invokes the
 /// <see cref="AuthenticationHandler.Destroy()"/>
 /// method to release any resources it may hold.
 /// </remarks>
 public virtual void Destroy()
 {
     if (authHandler != null)
     {
         authHandler.Destroy();
         authHandler = null;
     }
     if (secretProvider != null && isInitializedByTomcat)
     {
         secretProvider.Destroy();
         secretProvider = null;
     }
 }
 /// <exception cref="Javax.Servlet.ServletException"/>
 protected internal virtual void InitializeAuthHandler(string authHandlerClassName
                                                       , FilterConfig filterConfig)
 {
     try
     {
         Type klass = Thread.CurrentThread().GetContextClassLoader().LoadClass(authHandlerClassName
                                                                               );
         authHandler = (AuthenticationHandler)System.Activator.CreateInstance(klass);
         authHandler.Init(config);
     }
     catch (ReflectiveOperationException ex)
     {
         throw new ServletException(ex);
     }
 }