docs: @Override
      public void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException {
          ServletRequest request = servletRequest;
          ServletResponse response = servletResponse;
          int id = 0;
  
          // Generate the identifier if dumping is enabled for request and/or response
          if (LOG_REQUEST.isDebugEnabled() || LOG_RESPONSE.isDebugEnabled()) {
              id = counter.incrementAndGet();
          }
  
          // Dumping of the request is enabled so build the RequestWrapper and dump the request
          if (LOG_REQUEST.isDebugEnabled()) {
              request = new HttpServletRequestLoggingWrapper((HttpServletRequest) servletRequest, maxDumpSizeInKB);
              dumpRequest((HttpServletRequestLoggingWrapper) request, id);
          }
  
          if (LOG_RESPONSE.isDebugEnabled()) { // Dumping of the response is enabled so build the wrapper, handle the chain, dump the response, and write it to the outpuStream.
              response = new HttpServletResponseLoggingWrapper((HttpServletResponse) servletResponse, maxDumpSizeInKB);
              filterChain.doFilter(request, response);
              dumpResponse((HttpServletResponseLoggingWrapper) response, id);
          } else {
              // Dumping of the response is not needed so we just handle the chain
              filterChain.doFilter(request, response);
          }
      }