code: public final void init(FilterConfig filterConfig) throws ServletException {
      Assert.notNull(filterConfig, "FilterConfig must not be null");
      logger.debug("Initializing filter '{}'", filterConfig.getFilterName());
  
      this.filterConfig = filterConfig;
      initParams(filterConfig);
      // Let subclasses do whatever initialization they like.
      initFilterBean();
      logger.debug("Filter '{}' configured successfully", filterConfig.getFilterName());
    }
docs: Standard way of initializing this filter. Map config parameters onto bean
  properties of this filter, and invoke subclass initialization.
  
  @param filterConfig
  the configuration for this filter
  @throws ServletException
  if bean properties are invalid (or required properties are
  missing), or if subclass initialization fails.
  @see #initFilterBean