code: public void shutdown() {
          // call destroy on each filter instance wrapper
          Enumeration filterWrappers = _filterWrappers.elements();
  
          ClassLoader origClassLoader = ThreadContextHelper.getContextClassLoader();
          try {
              final ClassLoader warClassLoader = webApp.getClassLoader();
              if (warClassLoader != origClassLoader) {
                  ThreadContextHelper.setClassLoader(warClassLoader);
              }
              while (filterWrappers.hasMoreElements()) {
                  try {
                      FilterInstanceWrapper fw = (FilterInstanceWrapper) filterWrappers.nextElement();
  
                      Throwable t = this.webApp.invokeAnnotTypeOnObjectAndHierarchy(fw.getFilterInstance(), ANNOT_TYPE.PRE_DESTROY);
                      if (t != null) {
                          // log exception - could be from user's code - and move on 
                          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINE)) { // 306998.15
                              logger.logp(Level.FINE, CLASS_NAME, "shutdown", "Exception caught during preDestroy processing: " + t);
                          }
                      }
  
                      fw.destroy();
  
  
                  } catch (Throwable th) {
                      // should probably log this...continue on to destroy all
                      // filters
                      com.ibm.wsspi.webcontainer.util.FFDCWrapper.processException(th, "com.ibm.ws.webcontainer.filter.WebAppFilterManager.shutdown",
                                                                                   "237", this);
                  }
              }
          } finally {
              ThreadContextHelper.setClassLoader(origClassLoader);
          }
  
          // release the hash tables
          /* Nulls can cause NPE in doFilter, GC should clean these up when
           * WebAppFilterMater is no longer referenced.
          _filterWrappers = null;
          chainCache = null;
          forwardChainCache = null;
          includeChainCache = null;
          errorChainCache = null;*/
      }
docs: Shuts down the filter manager instance and sets the filter config to null
  for each loaded filter object