code:     public void destroy() {
  
          if (log.isDebugEnabled()) {
              log.debug(internal.getMessage("finalizing"));
          }
  
          destroyModules();
          destroyInternal();
          getServletContext().removeAttribute(Globals.ACTION_SERVLET_KEY);
  
          // Release our LogFactory and Log instances (if any)
          ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
          if (classLoader == null) {
              classLoader = ActionServlet.class.getClassLoader();
          }
          try {
              LogFactory.release(classLoader);
          } catch (Throwable t) {
              ; // Servlet container doesn't have the latest version
              ; // of commons-logging-api.jar installed
  
              // :FIXME: Why is this dependent on the container's version of commons-logging?
              // Shouldn't this depend on the version packaged with Struts?
              /*
                Reason: LogFactory.release(classLoader); was added as
                an attempt to investigate the OutOfMemory error reported on Bugzilla #14042.
                It was committed for version 1.136 by craigmcc
              */
          }
  
          PropertyUtils.clearDescriptors();
  
      }
  
  
      /**
       * <p>Initialize this servlet.  Most of the processing has been factored into
       * support methods so that you can override particular functionality at a
       * fairly granular level.</p>
       *
       * @exception ServletException if we cannot configure ourselves correctly
       */
  