final class org.apache.catalina.core.ApplicationDispatcher implements org.apache.catalina.AsyncDispatcher, jakarta.servlet.RequestDispatcher
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.catalina.core.ApplicationDispatcher
  super_class: java.lang.Object
{
  private final org.apache.catalina.Context context;
    descriptor: Lorg/apache/catalina/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String pathInfo;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String queryString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String requestURI;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String servletPath;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jakarta.servlet.http.HttpServletMapping mapping;
    descriptor: Ljakarta/servlet/http/HttpServletMapping;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.apache.catalina.Wrapper wrapper;
    descriptor: Lorg/apache/catalina/Wrapper;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 255
            ldc "org.apache.catalina.core"
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/String;)Lorg/apache/tomcat/util/res/StringManager;
            putstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.catalina.Wrapper, java.lang.String, java.lang.String, java.lang.String, java.lang.String, jakarta.servlet.http.HttpServletMapping, java.lang.String);
    descriptor: (Lorg/apache/catalina/Wrapper;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljakarta/servlet/http/HttpServletMapping;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=8
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // org.apache.catalina.Wrapper wrapper
        start local 2 // java.lang.String requestURI
        start local 3 // java.lang.String servletPath
        start local 4 // java.lang.String pathInfo
        start local 5 // java.lang.String queryString
        start local 6 // jakarta.servlet.http.HttpServletMapping mapping
        start local 7 // java.lang.String name
         0: .line 194
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 197
            aload 0 /* this */
            aload 1 /* wrapper */
            putfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
         2: .line 198
            aload 0 /* this */
            aload 1 /* wrapper */
            invokeinterface org.apache.catalina.Wrapper.getParent:()Lorg/apache/catalina/Container;
            checkcast org.apache.catalina.Context
            putfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
         3: .line 199
            aload 0 /* this */
            aload 2 /* requestURI */
            putfield org.apache.catalina.core.ApplicationDispatcher.requestURI:Ljava/lang/String;
         4: .line 200
            aload 0 /* this */
            aload 3 /* servletPath */
            putfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
         5: .line 201
            aload 0 /* this */
            aload 4 /* pathInfo */
            putfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
         6: .line 202
            aload 0 /* this */
            aload 5 /* queryString */
            putfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
         7: .line 203
            aload 0 /* this */
            aload 6 /* mapping */
            putfield org.apache.catalina.core.ApplicationDispatcher.mapping:Ljakarta/servlet/http/HttpServletMapping;
         8: .line 204
            aload 0 /* this */
            aload 7 /* name */
            putfield org.apache.catalina.core.ApplicationDispatcher.name:Ljava/lang/String;
         9: .line 205
            return
        end local 7 // java.lang.String name
        end local 6 // jakarta.servlet.http.HttpServletMapping mapping
        end local 5 // java.lang.String queryString
        end local 4 // java.lang.String pathInfo
        end local 3 // java.lang.String servletPath
        end local 2 // java.lang.String requestURI
        end local 1 // org.apache.catalina.Wrapper wrapper
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   10     1      wrapper  Lorg/apache/catalina/Wrapper;
            0   10     2   requestURI  Ljava/lang/String;
            0   10     3  servletPath  Ljava/lang/String;
            0   10     4     pathInfo  Ljava/lang/String;
            0   10     5  queryString  Ljava/lang/String;
            0   10     6      mapping  Ljakarta/servlet/http/HttpServletMapping;
            0   10     7         name  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      wrapper      
      requestURI   
      servletPath  
      pathInfo     
      queryString  
      mapping      
      name         

  public void forward(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
    descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // jakarta.servlet.ServletRequest request
        start local 2 // jakarta.servlet.ServletResponse response
         0: .line 283
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            ifeq 9
         1: .line 285
            new org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward
            dup
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokespecial org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.<init>:(Lorg/apache/catalina/core/ApplicationDispatcher;Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
            astore 3 /* dp */
        start local 3 // org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward dp
         2: .line 286
            aload 3 /* dp */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
        end local 3 // org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward dp
         3: .line 287
            goto 10
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         4: astore 3 /* pe */
        start local 3 // java.security.PrivilegedActionException pe
         5: .line 288
            aload 3 /* pe */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            astore 4 /* e */
        start local 4 // java.lang.Exception e
         6: .line 289
            aload 4 /* e */
            instanceof jakarta.servlet.ServletException
            ifeq 8
         7: .line 290
            aload 4 /* e */
            checkcast jakarta.servlet.ServletException
            athrow
         8: .line 291
      StackMap locals: java.security.PrivilegedActionException java.lang.Exception
      StackMap stack:
            aload 4 /* e */
            checkcast java.io.IOException
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // java.security.PrivilegedActionException pe
         9: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.doForward:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
        10: .line 296
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jakarta.servlet.ServletResponse response
        end local 1 // jakarta.servlet.ServletRequest request
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   11     1   request  Ljakarta/servlet/ServletRequest;
            0   11     2  response  Ljakarta/servlet/ServletResponse;
            2    3     3        dp  Lorg/apache/catalina/core/ApplicationDispatcher$PrivilegedForward;
            5    9     3        pe  Ljava/security/PrivilegedActionException;
            6    9     4         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  Class java.security.PrivilegedActionException
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  

  private void doForward(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
    descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // jakarta.servlet.ServletRequest request
        start local 2 // jakarta.servlet.ServletResponse response
         0: .line 303
            aload 2 /* response */
            invokeinterface jakarta.servlet.ServletResponse.isCommitted:()Z
            ifeq 4
         1: .line 304
            new java.lang.IllegalStateException
            dup
         2: .line 305
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.forward.ise"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 304
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 308
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            invokeinterface jakarta.servlet.ServletResponse.resetBuffer:()V
         5: .line 309
            goto 8
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
         6: astore 3 /* e */
        start local 3 // java.lang.IllegalStateException e
         7: .line 310
            aload 3 /* e */
            athrow
        end local 3 // java.lang.IllegalStateException e
         8: .line 314
      StackMap locals:
      StackMap stack:
            new org.apache.catalina.core.ApplicationDispatcher$State
            dup
            aload 1 /* request */
            aload 2 /* response */
            iconst_0
            invokespecial org.apache.catalina.core.ApplicationDispatcher$State.<init>:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Z)V
            astore 3 /* state */
        start local 3 // org.apache.catalina.core.ApplicationDispatcher$State state
         9: .line 316
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getDispatcherWrapsSameObject:()Z
            ifeq 11
        10: .line 318
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.checkSameObjects:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
        11: .line 321
      StackMap locals: org.apache.catalina.core.ApplicationDispatcher$State
      StackMap stack:
            aload 0 /* this */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapResponse:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletResponse;
            pop
        12: .line 323
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
            ifnonnull 23
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
            ifnonnull 23
        13: .line 326
            aload 0 /* this */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
            checkcast org.apache.catalina.core.ApplicationHttpRequest
        14: .line 325
            astore 4 /* wrequest */
        start local 4 // org.apache.catalina.core.ApplicationHttpRequest wrequest
        15: .line 327
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.hrequest:Ljakarta/servlet/http/HttpServletRequest;
            astore 5 /* hrequest */
        start local 5 // jakarta.servlet.http.HttpServletRequest hrequest
        16: .line 328
            aload 4 /* wrequest */
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setRequestURI:(Ljava/lang/String;)V
        17: .line 329
            aload 4 /* wrequest */
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setContextPath:(Ljava/lang/String;)V
        18: .line 330
            aload 4 /* wrequest */
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setServletPath:(Ljava/lang/String;)V
        19: .line 331
            aload 4 /* wrequest */
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getPathInfo:()Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setPathInfo:(Ljava/lang/String;)V
        20: .line 332
            aload 4 /* wrequest */
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryString:(Ljava/lang/String;)V
        21: .line 334
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.processRequest:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
        end local 5 // jakarta.servlet.http.HttpServletRequest hrequest
        end local 4 // org.apache.catalina.core.ApplicationHttpRequest wrequest
        22: .line 335
            goto 51
        23: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
            checkcast org.apache.catalina.core.ApplicationHttpRequest
            astore 4 /* wrequest */
        start local 4 // org.apache.catalina.core.ApplicationHttpRequest wrequest
        24: .line 341
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.hrequest:Ljakarta/servlet/http/HttpServletRequest;
            astore 5 /* hrequest */
        start local 5 // jakarta.servlet.http.HttpServletRequest hrequest
        25: .line 342
            aload 5 /* hrequest */
            ldc "jakarta.servlet.forward.request_uri"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            ifnonnull 42
        26: .line 343
            aload 4 /* wrequest */
            ldc "jakarta.servlet.forward.request_uri"
        27: .line 344
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
        28: .line 343
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        29: .line 345
            aload 4 /* wrequest */
            ldc "jakarta.servlet.forward.context_path"
        30: .line 346
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
        31: .line 345
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        32: .line 347
            aload 4 /* wrequest */
            ldc "jakarta.servlet.forward.servlet_path"
        33: .line 348
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
        34: .line 347
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        35: .line 349
            aload 4 /* wrequest */
            ldc "jakarta.servlet.forward.path_info"
        36: .line 350
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getPathInfo:()Ljava/lang/String;
        37: .line 349
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        38: .line 351
            aload 4 /* wrequest */
            ldc "jakarta.servlet.forward.query_string"
        39: .line 352
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
        40: .line 351
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        41: .line 353
            aload 4 /* wrequest */
            ldc "jakarta.servlet.forward.mapping"
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getHttpServletMapping:()Ljakarta/servlet/http/HttpServletMapping;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        42: .line 356
      StackMap locals: org.apache.catalina.core.ApplicationHttpRequest jakarta.servlet.http.HttpServletRequest
      StackMap stack:
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getEncodedPath:()Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setContextPath:(Ljava/lang/String;)V
        43: .line 357
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.requestURI:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setRequestURI:(Ljava/lang/String;)V
        44: .line 358
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setServletPath:(Ljava/lang/String;)V
        45: .line 359
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setPathInfo:(Ljava/lang/String;)V
        46: .line 360
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
            ifnull 49
        47: .line 361
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryString:(Ljava/lang/String;)V
        48: .line 362
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryParams:(Ljava/lang/String;)V
        49: .line 364
      StackMap locals:
      StackMap stack:
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.mapping:Ljakarta/servlet/http/HttpServletMapping;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setMapping:(Ljakarta/servlet/http/HttpServletMapping;)V
        50: .line 366
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.processRequest:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
        end local 5 // jakarta.servlet.http.HttpServletRequest hrequest
        end local 4 // org.apache.catalina.core.ApplicationHttpRequest wrequest
        51: .line 369
      StackMap locals:
      StackMap stack:
            aload 1 /* request */
            invokeinterface jakarta.servlet.ServletRequest.isAsyncStarted:()Z
            ifeq 53
        52: .line 372
            return
        53: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 55
        54: .line 377
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            ldc " Disabling the response for further output"
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        55: .line 379
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            instanceof org.apache.catalina.connector.ResponseFacade
            ifeq 58
        56: .line 380
            aload 2 /* response */
            checkcast org.apache.catalina.connector.ResponseFacade
            invokevirtual org.apache.catalina.connector.ResponseFacade.finish:()V
        57: .line 381
            goto 72
        58: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 62
        59: .line 385
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc " The Response is vehiculed using a wrapper: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        60: .line 386
            aload 2 /* response */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        61: .line 385
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        62: .line 391
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            invokeinterface jakarta.servlet.ServletResponse.getWriter:()Ljava/io/PrintWriter;
            astore 4 /* writer */
        start local 4 // java.io.PrintWriter writer
        63: .line 392
            aload 4 /* writer */
            invokevirtual java.io.PrintWriter.close:()V
        end local 4 // java.io.PrintWriter writer
        64: .line 393
            goto 72
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        65: pop
        66: .line 395
            aload 2 /* response */
            invokeinterface jakarta.servlet.ServletResponse.getOutputStream:()Ljakarta/servlet/ServletOutputStream;
            astore 4 /* stream */
        start local 4 // jakarta.servlet.ServletOutputStream stream
        67: .line 396
            aload 4 /* stream */
            invokevirtual jakarta.servlet.ServletOutputStream.close:()V
        end local 4 // jakarta.servlet.ServletOutputStream stream
        68: .line 397
            goto 72
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
        69: pop
            goto 72
        70: .line 399
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
            goto 72
        71: .line 402
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        72: .line 407
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.catalina.core.ApplicationDispatcher$State state
        end local 2 // jakarta.servlet.ServletResponse response
        end local 1 // jakarta.servlet.ServletRequest request
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   73     0      this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   73     1   request  Ljakarta/servlet/ServletRequest;
            0   73     2  response  Ljakarta/servlet/ServletResponse;
            7    8     3         e  Ljava/lang/IllegalStateException;
            9   73     3     state  Lorg/apache/catalina/core/ApplicationDispatcher$State;
           15   22     4  wrequest  Lorg/apache/catalina/core/ApplicationHttpRequest;
           16   22     5  hrequest  Ljakarta/servlet/http/HttpServletRequest;
           24   51     4  wrequest  Lorg/apache/catalina/core/ApplicationHttpRequest;
           25   51     5  hrequest  Ljakarta/servlet/http/HttpServletRequest;
           63   64     4    writer  Ljava/io/PrintWriter;
           67   68     4    stream  Ljakarta/servlet/ServletOutputStream;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.IllegalStateException
          62    64      65  Class java.lang.IllegalStateException
          66    68      69  Class java.lang.IllegalStateException
          66    68      70  Class java.io.IOException
          62    64      71  Class java.io.IOException
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  

  private void processRequest(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, org.apache.catalina.core.ApplicationDispatcher$State);
    descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // jakarta.servlet.ServletRequest request
        start local 2 // jakarta.servlet.ServletResponse response
        start local 3 // org.apache.catalina.core.ApplicationDispatcher$State state
         0: .line 424
            aload 1 /* request */
            ldc "org.apache.catalina.core.DISPATCHER_TYPE"
            invokeinterface jakarta.servlet.ServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast jakarta.servlet.DispatcherType
            astore 4 /* disInt */
        start local 4 // jakarta.servlet.DispatcherType disInt
         1: .line 425
            aload 4 /* disInt */
            ifnull 21
         2: .line 426
            iconst_1
            istore 5 /* doInvoke */
        start local 5 // boolean doInvoke
         3: .line 428
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getFireRequestListenersOnForwards:()Z
            ifeq 6
         4: .line 429
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            aload 1 /* request */
            invokeinterface org.apache.catalina.Context.fireRequestInitEvent:(Ljakarta/servlet/ServletRequest;)Z
            ifne 6
         5: .line 430
            iconst_0
            istore 5 /* doInvoke */
         6: .line 433
      StackMap locals: jakarta.servlet.DispatcherType int
      StackMap stack:
            iload 5 /* doInvoke */
            ifeq 21
         7: .line 434
            aload 4 /* disInt */
            getstatic jakarta.servlet.DispatcherType.ERROR:Ljakarta/servlet/DispatcherType;
            if_acmpeq 18
         8: .line 435
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
         9: .line 436
            ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
        10: .line 437
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.getCombinedPath:()Ljava/lang/String;
        11: .line 435
            invokeinterface jakarta.servlet.ServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 438
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
        13: .line 439
            ldc "org.apache.catalina.core.DISPATCHER_TYPE"
        14: .line 440
            getstatic jakarta.servlet.DispatcherType.FORWARD:Ljakarta/servlet/DispatcherType;
        15: .line 438
            invokeinterface jakarta.servlet.ServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        16: .line 441
            aload 0 /* this */
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            aload 2 /* response */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.invoke:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
        17: .line 442
            goto 19
        18: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            aload 2 /* response */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.invoke:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
        19: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getFireRequestListenersOnForwards:()Z
            ifeq 21
        20: .line 447
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            aload 1 /* request */
            invokeinterface org.apache.catalina.Context.fireRequestDestroyEvent:(Ljakarta/servlet/ServletRequest;)Z
            pop
        end local 5 // boolean doInvoke
        21: .line 451
      StackMap locals:
      StackMap stack:
            return
        end local 4 // jakarta.servlet.DispatcherType disInt
        end local 3 // org.apache.catalina.core.ApplicationDispatcher$State state
        end local 2 // jakarta.servlet.ServletResponse response
        end local 1 // jakarta.servlet.ServletRequest request
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   22     1   request  Ljakarta/servlet/ServletRequest;
            0   22     2  response  Ljakarta/servlet/ServletResponse;
            0   22     3     state  Lorg/apache/catalina/core/ApplicationDispatcher$State;
            1   22     4    disInt  Ljakarta/servlet/DispatcherType;
            3   21     5  doInvoke  Z
    Exceptions:
      throws java.io.IOException, jakarta.servlet.ServletException
    MethodParameters:
          Name  Flags
      request   
      response  
      state     

  private java.lang.String getCombinedPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
         0: .line 461
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
            ifnonnull 2
         1: .line 462
            aconst_null
            areturn
         2: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
            ifnonnull 4
         3: .line 465
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
            areturn
         4: .line 467
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/core/ApplicationDispatcher;

  public void include(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
    descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // jakarta.servlet.ServletRequest request
        start local 2 // jakarta.servlet.ServletResponse response
         0: .line 486
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            ifeq 9
         1: .line 488
            new org.apache.catalina.core.ApplicationDispatcher$PrivilegedInclude
            dup
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokespecial org.apache.catalina.core.ApplicationDispatcher$PrivilegedInclude.<init>:(Lorg/apache/catalina/core/ApplicationDispatcher;Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
            astore 3 /* dp */
        start local 3 // org.apache.catalina.core.ApplicationDispatcher$PrivilegedInclude dp
         2: .line 489
            aload 3 /* dp */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
        end local 3 // org.apache.catalina.core.ApplicationDispatcher$PrivilegedInclude dp
         3: .line 490
            goto 10
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         4: astore 3 /* pe */
        start local 3 // java.security.PrivilegedActionException pe
         5: .line 491
            aload 3 /* pe */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            astore 4 /* e */
        start local 4 // java.lang.Exception e
         6: .line 493
            aload 4 /* e */
            instanceof jakarta.servlet.ServletException
            ifeq 8
         7: .line 494
            aload 4 /* e */
            checkcast jakarta.servlet.ServletException
            athrow
         8: .line 495
      StackMap locals: java.security.PrivilegedActionException java.lang.Exception
      StackMap stack:
            aload 4 /* e */
            checkcast java.io.IOException
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // java.security.PrivilegedActionException pe
         9: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.doInclude:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
        10: .line 500
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jakarta.servlet.ServletResponse response
        end local 1 // jakarta.servlet.ServletRequest request
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   11     1   request  Ljakarta/servlet/ServletRequest;
            0   11     2  response  Ljakarta/servlet/ServletResponse;
            2    3     3        dp  Lorg/apache/catalina/core/ApplicationDispatcher$PrivilegedInclude;
            5    9     3        pe  Ljava/security/PrivilegedActionException;
            6    9     4         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  Class java.security.PrivilegedActionException
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  

  private void doInclude(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
    descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // jakarta.servlet.ServletRequest request
        start local 2 // jakarta.servlet.ServletResponse response
         0: .line 506
            new org.apache.catalina.core.ApplicationDispatcher$State
            dup
            aload 1 /* request */
            aload 2 /* response */
            iconst_1
            invokespecial org.apache.catalina.core.ApplicationDispatcher$State.<init>:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Z)V
            astore 3 /* state */
        start local 3 // org.apache.catalina.core.ApplicationDispatcher$State state
         1: .line 508
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getDispatcherWrapsSameObject:()Z
            ifeq 3
         2: .line 510
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.checkSameObjects:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
         3: .line 514
      StackMap locals: org.apache.catalina.core.ApplicationDispatcher$State
      StackMap stack:
            aload 0 /* this */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapResponse:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletResponse;
            pop
         4: .line 517
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.name:Ljava/lang/String;
            ifnull 18
         5: .line 520
            aload 0 /* this */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
            checkcast org.apache.catalina.core.ApplicationHttpRequest
         6: .line 519
            astore 4 /* wrequest */
        start local 4 // org.apache.catalina.core.ApplicationHttpRequest wrequest
         7: .line 521
            aload 4 /* wrequest */
            ldc "org.apache.catalina.NAMED"
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.name:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 522
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
            ifnull 10
         9: .line 523
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setServletPath:(Ljava/lang/String;)V
        10: .line 524
      StackMap locals: org.apache.catalina.core.ApplicationHttpRequest
      StackMap stack:
            aload 4 /* wrequest */
            ldc "org.apache.catalina.core.DISPATCHER_TYPE"
        11: .line 525
            getstatic jakarta.servlet.DispatcherType.INCLUDE:Ljakarta/servlet/DispatcherType;
        12: .line 524
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        13: .line 526
            aload 4 /* wrequest */
            ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
        14: .line 527
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.getCombinedPath:()Ljava/lang/String;
        15: .line 526
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        16: .line 528
            aload 0 /* this */
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.invoke:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
        end local 4 // org.apache.catalina.core.ApplicationHttpRequest wrequest
        17: .line 529
            goto 51
        18: .line 535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
            checkcast org.apache.catalina.core.ApplicationHttpRequest
        19: .line 534
            astore 4 /* wrequest */
        start local 4 // org.apache.catalina.core.ApplicationHttpRequest wrequest
        20: .line 536
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getPath:()Ljava/lang/String;
            astore 5 /* contextPath */
        start local 5 // java.lang.String contextPath
        21: .line 537
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.requestURI:Ljava/lang/String;
            ifnull 25
        22: .line 538
            aload 4 /* wrequest */
            ldc "jakarta.servlet.include.request_uri"
        23: .line 539
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.requestURI:Ljava/lang/String;
        24: .line 538
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        25: .line 540
      StackMap locals: org.apache.catalina.core.ApplicationHttpRequest java.lang.String
      StackMap stack:
            aload 5 /* contextPath */
            ifnull 29
        26: .line 541
            aload 4 /* wrequest */
            ldc "jakarta.servlet.include.context_path"
        27: .line 542
            aload 5 /* contextPath */
        28: .line 541
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        29: .line 543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
            ifnull 33
        30: .line 544
            aload 4 /* wrequest */
            ldc "jakarta.servlet.include.servlet_path"
        31: .line 545
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
        32: .line 544
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        33: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
            ifnull 37
        34: .line 547
            aload 4 /* wrequest */
            ldc "jakarta.servlet.include.path_info"
        35: .line 548
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
        36: .line 547
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        37: .line 549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
            ifnull 42
        38: .line 550
            aload 4 /* wrequest */
            ldc "jakarta.servlet.include.query_string"
        39: .line 551
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
        40: .line 550
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        41: .line 552
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryParams:(Ljava/lang/String;)V
        42: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.mapping:Ljakarta/servlet/http/HttpServletMapping;
            ifnull 44
        43: .line 555
            aload 4 /* wrequest */
            ldc "jakarta.servlet.include.mapping"
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.mapping:Ljakarta/servlet/http/HttpServletMapping;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        44: .line 558
      StackMap locals:
      StackMap stack:
            aload 4 /* wrequest */
            ldc "org.apache.catalina.core.DISPATCHER_TYPE"
        45: .line 559
            getstatic jakarta.servlet.DispatcherType.INCLUDE:Ljakarta/servlet/DispatcherType;
        46: .line 558
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        47: .line 560
            aload 4 /* wrequest */
            ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
        48: .line 561
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.getCombinedPath:()Ljava/lang/String;
        49: .line 560
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        50: .line 562
            aload 0 /* this */
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.invoke:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
        end local 5 // java.lang.String contextPath
        end local 4 // org.apache.catalina.core.ApplicationHttpRequest wrequest
        51: .line 565
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.catalina.core.ApplicationDispatcher$State state
        end local 2 // jakarta.servlet.ServletResponse response
        end local 1 // jakarta.servlet.ServletRequest request
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   52     0         this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   52     1      request  Ljakarta/servlet/ServletRequest;
            0   52     2     response  Ljakarta/servlet/ServletResponse;
            1   52     3        state  Lorg/apache/catalina/core/ApplicationDispatcher$State;
            7   17     4     wrequest  Lorg/apache/catalina/core/ApplicationHttpRequest;
           20   51     4     wrequest  Lorg/apache/catalina/core/ApplicationHttpRequest;
           21   51     5  contextPath  Ljava/lang/String;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  

  public void dispatch(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
    descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // jakarta.servlet.ServletRequest request
        start local 2 // jakarta.servlet.ServletResponse response
         0: .line 571
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            ifeq 9
         1: .line 573
            new org.apache.catalina.core.ApplicationDispatcher$PrivilegedDispatch
            dup
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokespecial org.apache.catalina.core.ApplicationDispatcher$PrivilegedDispatch.<init>:(Lorg/apache/catalina/core/ApplicationDispatcher;Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
            astore 3 /* dp */
        start local 3 // org.apache.catalina.core.ApplicationDispatcher$PrivilegedDispatch dp
         2: .line 574
            aload 3 /* dp */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
        end local 3 // org.apache.catalina.core.ApplicationDispatcher$PrivilegedDispatch dp
         3: .line 575
            goto 10
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         4: astore 3 /* pe */
        start local 3 // java.security.PrivilegedActionException pe
         5: .line 576
            aload 3 /* pe */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            astore 4 /* e */
        start local 4 // java.lang.Exception e
         6: .line 578
            aload 4 /* e */
            instanceof jakarta.servlet.ServletException
            ifeq 8
         7: .line 579
            aload 4 /* e */
            checkcast jakarta.servlet.ServletException
            athrow
         8: .line 580
      StackMap locals: java.security.PrivilegedActionException java.lang.Exception
      StackMap stack:
            aload 4 /* e */
            checkcast java.io.IOException
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // java.security.PrivilegedActionException pe
         9: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.doDispatch:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
        10: .line 585
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jakarta.servlet.ServletResponse response
        end local 1 // jakarta.servlet.ServletRequest request
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   11     1   request  Ljakarta/servlet/ServletRequest;
            0   11     2  response  Ljakarta/servlet/ServletResponse;
            2    3     3        dp  Lorg/apache/catalina/core/ApplicationDispatcher$PrivilegedDispatch;
            5    9     3        pe  Ljava/security/PrivilegedActionException;
            6    9     4         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  Class java.security.PrivilegedActionException
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  

  private void doDispatch(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
    descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // jakarta.servlet.ServletRequest request
        start local 2 // jakarta.servlet.ServletResponse response
         0: .line 591
            new org.apache.catalina.core.ApplicationDispatcher$State
            dup
            aload 1 /* request */
            aload 2 /* response */
            iconst_0
            invokespecial org.apache.catalina.core.ApplicationDispatcher$State.<init>:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Z)V
            astore 3 /* state */
        start local 3 // org.apache.catalina.core.ApplicationDispatcher$State state
         1: .line 594
            aload 0 /* this */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapResponse:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletResponse;
            pop
         2: .line 596
            aload 0 /* this */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
            checkcast org.apache.catalina.core.ApplicationHttpRequest
            astore 4 /* wrequest */
        start local 4 // org.apache.catalina.core.ApplicationHttpRequest wrequest
         3: .line 597
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.hrequest:Ljakarta/servlet/http/HttpServletRequest;
            astore 5 /* hrequest */
        start local 5 // jakarta.servlet.http.HttpServletRequest hrequest
         4: .line 599
            aload 4 /* wrequest */
            ldc "org.apache.catalina.core.DISPATCHER_TYPE"
            getstatic jakarta.servlet.DispatcherType.ASYNC:Ljakarta/servlet/DispatcherType;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 600
            aload 4 /* wrequest */
            ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.getCombinedPath:()Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 601
            aload 4 /* wrequest */
            ldc "jakarta.servlet.async.mapping"
            aload 5 /* hrequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getHttpServletMapping:()Ljakarta/servlet/http/HttpServletMapping;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 603
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getEncodedPath:()Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setContextPath:(Ljava/lang/String;)V
         8: .line 604
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.requestURI:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setRequestURI:(Ljava/lang/String;)V
         9: .line 605
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setServletPath:(Ljava/lang/String;)V
        10: .line 606
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setPathInfo:(Ljava/lang/String;)V
        11: .line 607
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
            ifnull 14
        12: .line 608
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryString:(Ljava/lang/String;)V
        13: .line 609
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryParams:(Ljava/lang/String;)V
        14: .line 611
      StackMap locals: org.apache.catalina.core.ApplicationDispatcher$State org.apache.catalina.core.ApplicationHttpRequest jakarta.servlet.http.HttpServletRequest
      StackMap stack:
            getstatic org.apache.catalina.Globals.STRICT_SERVLET_COMPLIANCE:Z
            ifne 16
        15: .line 612
            aload 4 /* wrequest */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.mapping:Ljakarta/servlet/http/HttpServletMapping;
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setMapping:(Ljakarta/servlet/http/HttpServletMapping;)V
        16: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.invoke:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
        17: .line 616
            return
        end local 5 // jakarta.servlet.http.HttpServletRequest hrequest
        end local 4 // org.apache.catalina.core.ApplicationHttpRequest wrequest
        end local 3 // org.apache.catalina.core.ApplicationDispatcher$State state
        end local 2 // jakarta.servlet.ServletResponse response
        end local 1 // jakarta.servlet.ServletRequest request
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   18     1   request  Ljakarta/servlet/ServletRequest;
            0   18     2  response  Ljakarta/servlet/ServletResponse;
            1   18     3     state  Lorg/apache/catalina/core/ApplicationDispatcher$State;
            3   18     4  wrequest  Lorg/apache/catalina/core/ApplicationHttpRequest;
            4   18     5  hrequest  Ljakarta/servlet/http/HttpServletRequest;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  

  private void invoke(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, org.apache.catalina.core.ApplicationDispatcher$State);
    descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=14, args_size=4
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // jakarta.servlet.ServletRequest request
        start local 2 // jakarta.servlet.ServletResponse response
        start local 3 // org.apache.catalina.core.ApplicationDispatcher$State state
         0: .line 643
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            iconst_0
            aconst_null
            invokeinterface org.apache.catalina.Context.bind:(ZLjava/lang/ClassLoader;)Ljava/lang/ClassLoader;
            astore 4 /* oldCCL */
        start local 4 // java.lang.ClassLoader oldCCL
         1: .line 646
            aload 3 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.hresponse:Ljakarta/servlet/http/HttpServletResponse;
            astore 5 /* hresponse */
        start local 5 // jakarta.servlet.http.HttpServletResponse hresponse
         2: .line 647
            aconst_null
            astore 6 /* servlet */
        start local 6 // jakarta.servlet.Servlet servlet
         3: .line 648
            aconst_null
            astore 7 /* ioException */
        start local 7 // java.io.IOException ioException
         4: .line 649
            aconst_null
            astore 8 /* servletException */
        start local 8 // jakarta.servlet.ServletException servletException
         5: .line 650
            aconst_null
            astore 9 /* runtimeException */
        start local 9 // java.lang.RuntimeException runtimeException
         6: .line 651
            iconst_0
            istore 10 /* unavailable */
        start local 10 // boolean unavailable
         7: .line 654
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.isUnavailable:()Z
            ifeq 22
         8: .line 655
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
         9: .line 656
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.isUnavailable"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 657
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
        11: .line 656
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        12: .line 655
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        13: .line 658
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getAvailable:()J
            lstore 11 /* available */
        start local 11 // long available
        14: .line 659
            lload 11 /* available */
            lconst_0
            lcmp
            ifle 16
            lload 11 /* available */
            ldc 9223372036854775807
            lcmp
            ifge 16
        15: .line 660
            aload 5 /* hresponse */
            ldc "Retry-After"
            lload 11 /* available */
            invokeinterface jakarta.servlet.http.HttpServletResponse.setDateHeader:(Ljava/lang/String;J)V
        16: .line 661
      StackMap locals: org.apache.catalina.core.ApplicationDispatcher jakarta.servlet.ServletRequest jakarta.servlet.ServletResponse org.apache.catalina.core.ApplicationDispatcher$State java.lang.ClassLoader jakarta.servlet.http.HttpServletResponse jakarta.servlet.Servlet java.io.IOException jakarta.servlet.ServletException java.lang.RuntimeException int long
      StackMap stack:
            aload 5 /* hresponse */
            sipush 503
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
        17: .line 662
            ldc "applicationDispatcher.isUnavailable"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
        18: .line 663
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
        19: .line 662
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        20: .line 661
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
        21: .line 664
            iconst_1
            istore 10 /* unavailable */
        end local 11 // long available
        22: .line 669
      StackMap locals:
      StackMap stack:
            iload 10 /* unavailable */
            ifne 47
        23: .line 670
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.allocate:()Ljakarta/servlet/Servlet;
            astore 6 /* servlet */
        24: .line 672
            goto 47
      StackMap locals:
      StackMap stack: jakarta.servlet.ServletException
        25: astore 11 /* e */
        start local 11 // jakarta.servlet.ServletException e
        26: .line 673
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.allocateException"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        27: .line 674
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
        28: .line 673
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        29: .line 674
            aload 11 /* e */
            invokestatic org.apache.catalina.core.StandardWrapper.getRootCause:(Ljakarta/servlet/ServletException;)Ljava/lang/Throwable;
        30: .line 673
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        31: .line 675
            aload 11 /* e */
            astore 8 /* servletException */
        end local 11 // jakarta.servlet.ServletException e
        32: goto 47
        33: .line 676
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11 /* e */
        start local 11 // java.lang.Throwable e
        34: .line 677
            aload 11 /* e */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
        35: .line 678
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.allocateException"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        36: .line 679
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
        37: .line 678
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        38: .line 679
            aload 11 /* e */
        39: .line 678
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        40: .line 680
            new jakarta.servlet.ServletException
            dup
        41: .line 681
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.allocateException"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        42: .line 682
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
        43: .line 681
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        44: .line 682
            aload 11 /* e */
        45: .line 680
            invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 8 /* servletException */
        46: .line 683
            aconst_null
            astore 6 /* servlet */
        end local 11 // java.lang.Throwable e
        47: .line 688
      StackMap locals:
      StackMap stack:
            aload 1 /* request */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            aload 6 /* servlet */
            invokestatic org.apache.catalina.core.ApplicationFilterFactory.createFilterChain:(Ljakarta/servlet/ServletRequest;Lorg/apache/catalina/Wrapper;Ljakarta/servlet/Servlet;)Lorg/apache/catalina/core/ApplicationFilterChain;
        48: .line 687
            astore 11 /* filterChain */
        start local 11 // org.apache.catalina.core.ApplicationFilterChain filterChain
        49: .line 693
            aload 6 /* servlet */
            ifnull 89
            aload 11 /* filterChain */
            ifnull 89
        50: .line 694
            aload 11 /* filterChain */
            aload 1 /* request */
            aload 2 /* response */
            invokevirtual org.apache.catalina.core.ApplicationFilterChain.doFilter:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
        51: .line 697
            goto 89
      StackMap locals: org.apache.catalina.core.ApplicationDispatcher jakarta.servlet.ServletRequest jakarta.servlet.ServletResponse org.apache.catalina.core.ApplicationDispatcher$State java.lang.ClassLoader jakarta.servlet.http.HttpServletResponse jakarta.servlet.Servlet java.io.IOException jakarta.servlet.ServletException java.lang.RuntimeException int org.apache.catalina.core.ApplicationFilterChain
      StackMap stack: org.apache.catalina.connector.ClientAbortException
        52: astore 12 /* e */
        start local 12 // org.apache.catalina.connector.ClientAbortException e
        53: .line 698
            aload 12 /* e */
            astore 7 /* ioException */
        end local 12 // org.apache.catalina.connector.ClientAbortException e
        54: goto 89
        55: .line 699
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 12 /* e */
        start local 12 // java.io.IOException e
        56: .line 700
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.serviceException"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        57: .line 701
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
        58: .line 700
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        59: .line 701
            aload 12 /* e */
        60: .line 700
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        61: .line 702
            aload 12 /* e */
            astore 7 /* ioException */
        end local 12 // java.io.IOException e
        62: goto 89
        63: .line 703
      StackMap locals:
      StackMap stack: jakarta.servlet.UnavailableException
            astore 12 /* e */
        start local 12 // jakarta.servlet.UnavailableException e
        64: .line 704
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.serviceException"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        65: .line 705
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
        66: .line 704
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        67: .line 705
            aload 12 /* e */
        68: .line 704
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        69: .line 706
            aload 12 /* e */
            astore 8 /* servletException */
        70: .line 707
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            aload 12 /* e */
            invokeinterface org.apache.catalina.Wrapper.unavailable:(Ljakarta/servlet/UnavailableException;)V
        end local 12 // jakarta.servlet.UnavailableException e
        71: goto 89
        72: .line 708
      StackMap locals:
      StackMap stack: jakarta.servlet.ServletException
            astore 12 /* e */
        start local 12 // jakarta.servlet.ServletException e
        73: .line 709
            aload 12 /* e */
            invokestatic org.apache.catalina.core.StandardWrapper.getRootCause:(Ljakarta/servlet/ServletException;)Ljava/lang/Throwable;
            astore 13 /* rootCause */
        start local 13 // java.lang.Throwable rootCause
        74: .line 710
            aload 13 /* rootCause */
            instanceof org.apache.catalina.connector.ClientAbortException
            ifne 80
        75: .line 711
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.serviceException"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        76: .line 712
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
        77: .line 711
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        78: .line 712
            aload 13 /* rootCause */
        79: .line 711
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        80: .line 714
      StackMap locals: jakarta.servlet.ServletException java.lang.Throwable
      StackMap stack:
            aload 12 /* e */
            astore 8 /* servletException */
        end local 13 // java.lang.Throwable rootCause
        end local 12 // jakarta.servlet.ServletException e
        81: goto 89
        82: .line 715
      StackMap locals: org.apache.catalina.core.ApplicationDispatcher jakarta.servlet.ServletRequest jakarta.servlet.ServletResponse org.apache.catalina.core.ApplicationDispatcher$State java.lang.ClassLoader jakarta.servlet.http.HttpServletResponse jakarta.servlet.Servlet java.io.IOException jakarta.servlet.ServletException java.lang.RuntimeException int org.apache.catalina.core.ApplicationFilterChain
      StackMap stack: java.lang.RuntimeException
            astore 12 /* e */
        start local 12 // java.lang.RuntimeException e
        83: .line 716
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.serviceException"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        84: .line 717
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
        85: .line 716
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        86: .line 717
            aload 12 /* e */
        87: .line 716
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        88: .line 718
            aload 12 /* e */
            astore 9 /* runtimeException */
        end local 12 // java.lang.RuntimeException e
        89: .line 722
      StackMap locals:
      StackMap stack:
            aload 11 /* filterChain */
            ifnull 91
        90: .line 723
            aload 11 /* filterChain */
            invokevirtual org.apache.catalina.core.ApplicationFilterChain.release:()V
        91: .line 728
      StackMap locals:
      StackMap stack:
            aload 6 /* servlet */
            ifnull 115
        92: .line 729
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            aload 6 /* servlet */
            invokeinterface org.apache.catalina.Wrapper.deallocate:(Ljakarta/servlet/Servlet;)V
        93: .line 731
            goto 115
      StackMap locals:
      StackMap stack: jakarta.servlet.ServletException
        94: astore 12 /* e */
        start local 12 // jakarta.servlet.ServletException e
        95: .line 732
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.deallocateException"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        96: .line 733
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
        97: .line 732
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        98: .line 733
            aload 12 /* e */
        99: .line 732
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
       100: .line 734
            aload 12 /* e */
            astore 8 /* servletException */
        end local 12 // jakarta.servlet.ServletException e
       101: goto 115
       102: .line 735
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12 /* e */
        start local 12 // java.lang.Throwable e
       103: .line 736
            aload 12 /* e */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
       104: .line 737
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.deallocateException"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
       105: .line 738
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
       106: .line 737
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
       107: .line 738
            aload 12 /* e */
       108: .line 737
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
       109: .line 739
            new jakarta.servlet.ServletException
            dup
       110: .line 740
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationDispatcher.deallocateException"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
       111: .line 741
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
            invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
            aastore
       112: .line 740
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
       113: .line 741
            aload 12 /* e */
       114: .line 739
            invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 8 /* servletException */
        end local 12 // java.lang.Throwable e
       115: .line 745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            iconst_0
            aload 4 /* oldCCL */
            invokeinterface org.apache.catalina.Context.unbind:(ZLjava/lang/ClassLoader;)V
       116: .line 749
            aload 0 /* this */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.unwrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
       117: .line 750
            aload 0 /* this */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.unwrapResponse:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
       118: .line 752
            aload 0 /* this */
            aload 3 /* state */
            invokevirtual org.apache.catalina.core.ApplicationDispatcher.recycleRequestWrapper:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
       119: .line 755
            aload 7 /* ioException */
            ifnull 121
       120: .line 756
            aload 7 /* ioException */
            athrow
       121: .line 757
      StackMap locals:
      StackMap stack:
            aload 8 /* servletException */
            ifnull 123
       122: .line 758
            aload 8 /* servletException */
            athrow
       123: .line 759
      StackMap locals:
      StackMap stack:
            aload 9 /* runtimeException */
            ifnull 125
       124: .line 760
            aload 9 /* runtimeException */
            athrow
       125: .line 762
      StackMap locals:
      StackMap stack:
            return
        end local 11 // org.apache.catalina.core.ApplicationFilterChain filterChain
        end local 10 // boolean unavailable
        end local 9 // java.lang.RuntimeException runtimeException
        end local 8 // jakarta.servlet.ServletException servletException
        end local 7 // java.io.IOException ioException
        end local 6 // jakarta.servlet.Servlet servlet
        end local 5 // jakarta.servlet.http.HttpServletResponse hresponse
        end local 4 // java.lang.ClassLoader oldCCL
        end local 3 // org.apache.catalina.core.ApplicationDispatcher$State state
        end local 2 // jakarta.servlet.ServletResponse response
        end local 1 // jakarta.servlet.ServletRequest request
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  126     0              this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0  126     1           request  Ljakarta/servlet/ServletRequest;
            0  126     2          response  Ljakarta/servlet/ServletResponse;
            0  126     3             state  Lorg/apache/catalina/core/ApplicationDispatcher$State;
            1  126     4            oldCCL  Ljava/lang/ClassLoader;
            2  126     5         hresponse  Ljakarta/servlet/http/HttpServletResponse;
            3  126     6           servlet  Ljakarta/servlet/Servlet;
            4  126     7       ioException  Ljava/io/IOException;
            5  126     8  servletException  Ljakarta/servlet/ServletException;
            6  126     9  runtimeException  Ljava/lang/RuntimeException;
            7  126    10       unavailable  Z
           14   22    11         available  J
           26   32    11                 e  Ljakarta/servlet/ServletException;
           34   47    11                 e  Ljava/lang/Throwable;
           49  126    11       filterChain  Lorg/apache/catalina/core/ApplicationFilterChain;
           53   54    12                 e  Lorg/apache/catalina/connector/ClientAbortException;
           56   62    12                 e  Ljava/io/IOException;
           64   71    12                 e  Ljakarta/servlet/UnavailableException;
           73   81    12                 e  Ljakarta/servlet/ServletException;
           74   81    13         rootCause  Ljava/lang/Throwable;
           83   89    12                 e  Ljava/lang/RuntimeException;
           95  101    12                 e  Ljakarta/servlet/ServletException;
          103  115    12                 e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          22    24      25  Class jakarta.servlet.ServletException
          22    24      33  Class java.lang.Throwable
          49    51      52  Class org.apache.catalina.connector.ClientAbortException
          49    51      55  Class java.io.IOException
          49    51      63  Class jakarta.servlet.UnavailableException
          49    51      72  Class jakarta.servlet.ServletException
          49    51      82  Class java.lang.RuntimeException
          91    93      94  Class jakarta.servlet.ServletException
          91    93     102  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException, jakarta.servlet.ServletException
    MethodParameters:
          Name  Flags
      request   
      response  
      state     

  private void unwrapRequest(org.apache.catalina.core.ApplicationDispatcher$State);
    descriptor: (Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // org.apache.catalina.core.ApplicationDispatcher$State state
         0: .line 770
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapRequest:Ljakarta/servlet/ServletRequest;
            ifnonnull 2
         1: .line 771
            return
         2: .line 773
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            invokeinterface jakarta.servlet.ServletRequest.isAsyncStarted:()Z
            ifeq 5
         3: .line 774
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            invokeinterface jakarta.servlet.ServletRequest.getAsyncContext:()Ljakarta/servlet/AsyncContext;
            invokeinterface jakarta.servlet.AsyncContext.hasOriginalRequestAndResponse:()Z
            ifne 5
         4: .line 775
            return
         5: .line 779
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* previous */
        start local 2 // jakarta.servlet.ServletRequest previous
         6: .line 780
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            astore 3 /* current */
        start local 3 // jakarta.servlet.ServletRequest current
         7: .line 781
            goto 20
         8: .line 784
      StackMap locals: jakarta.servlet.ServletRequest jakarta.servlet.ServletRequest
      StackMap stack:
            aload 3 /* current */
            instanceof org.apache.catalina.connector.Request
            ifne 21
         9: .line 785
            aload 3 /* current */
            instanceof org.apache.catalina.connector.RequestFacade
            ifeq 11
        10: .line 786
            goto 21
        11: .line 789
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapRequest:Ljakarta/servlet/ServletRequest;
            if_acmpne 18
        12: .line 791
            aload 3 /* current */
            checkcast jakarta.servlet.ServletRequestWrapper
            invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
        13: .line 790
            astore 4 /* next */
        start local 4 // jakarta.servlet.ServletRequest next
        14: .line 792
            aload 2 /* previous */
            ifnonnull 16
        15: .line 793
            aload 1 /* state */
            aload 4 /* next */
            putfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            goto 21
        16: .line 795
      StackMap locals: jakarta.servlet.ServletRequest
      StackMap stack:
            aload 2 /* previous */
            checkcast jakarta.servlet.ServletRequestWrapper
            aload 4 /* next */
            invokevirtual jakarta.servlet.ServletRequestWrapper.setRequest:(Ljakarta/servlet/ServletRequest;)V
        17: .line 796
            goto 21
        end local 4 // jakarta.servlet.ServletRequest next
        18: .line 800
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            astore 2 /* previous */
        19: .line 801
            aload 3 /* current */
            checkcast jakarta.servlet.ServletRequestWrapper
            invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
            astore 3 /* current */
        20: .line 781
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            ifnonnull 8
        21: .line 805
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jakarta.servlet.ServletRequest current
        end local 2 // jakarta.servlet.ServletRequest previous
        end local 1 // org.apache.catalina.core.ApplicationDispatcher$State state
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   22     1     state  Lorg/apache/catalina/core/ApplicationDispatcher$State;
            6   22     2  previous  Ljakarta/servlet/ServletRequest;
            7   22     3   current  Ljakarta/servlet/ServletRequest;
           14   18     4      next  Ljakarta/servlet/ServletRequest;
    MethodParameters:
       Name  Flags
      state  

  private void unwrapResponse(org.apache.catalina.core.ApplicationDispatcher$State);
    descriptor: (Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // org.apache.catalina.core.ApplicationDispatcher$State state
         0: .line 812
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapResponse:Ljakarta/servlet/ServletResponse;
            ifnonnull 2
         1: .line 813
            return
         2: .line 815
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            invokeinterface jakarta.servlet.ServletRequest.isAsyncStarted:()Z
            ifeq 5
         3: .line 816
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            invokeinterface jakarta.servlet.ServletRequest.getAsyncContext:()Ljakarta/servlet/AsyncContext;
            invokeinterface jakarta.servlet.AsyncContext.hasOriginalRequestAndResponse:()Z
            ifne 5
         4: .line 817
            return
         5: .line 821
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* previous */
        start local 2 // jakarta.servlet.ServletResponse previous
         6: .line 822
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
            astore 3 /* current */
        start local 3 // jakarta.servlet.ServletResponse current
         7: .line 823
            goto 20
         8: .line 826
      StackMap locals: jakarta.servlet.ServletResponse jakarta.servlet.ServletResponse
      StackMap stack:
            aload 3 /* current */
            instanceof org.apache.catalina.connector.Response
            ifne 21
         9: .line 827
            aload 3 /* current */
            instanceof org.apache.catalina.connector.ResponseFacade
            ifeq 11
        10: .line 828
            goto 21
        11: .line 831
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapResponse:Ljakarta/servlet/ServletResponse;
            if_acmpne 18
        12: .line 833
            aload 3 /* current */
            checkcast jakarta.servlet.ServletResponseWrapper
            invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
        13: .line 832
            astore 4 /* next */
        start local 4 // jakarta.servlet.ServletResponse next
        14: .line 834
            aload 2 /* previous */
            ifnonnull 16
        15: .line 835
            aload 1 /* state */
            aload 4 /* next */
            putfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
            goto 21
        16: .line 837
      StackMap locals: jakarta.servlet.ServletResponse
      StackMap stack:
            aload 2 /* previous */
            checkcast jakarta.servlet.ServletResponseWrapper
            aload 4 /* next */
            invokevirtual jakarta.servlet.ServletResponseWrapper.setResponse:(Ljakarta/servlet/ServletResponse;)V
        17: .line 838
            goto 21
        end local 4 // jakarta.servlet.ServletResponse next
        18: .line 842
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            astore 2 /* previous */
        19: .line 843
            aload 3 /* current */
            checkcast jakarta.servlet.ServletResponseWrapper
            invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
            astore 3 /* current */
        20: .line 823
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            ifnonnull 8
        21: .line 847
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jakarta.servlet.ServletResponse current
        end local 2 // jakarta.servlet.ServletResponse previous
        end local 1 // org.apache.catalina.core.ApplicationDispatcher$State state
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   22     1     state  Lorg/apache/catalina/core/ApplicationDispatcher$State;
            6   22     2  previous  Ljakarta/servlet/ServletResponse;
            7   22     3   current  Ljakarta/servlet/ServletResponse;
           14   18     4      next  Ljakarta/servlet/ServletResponse;
    MethodParameters:
       Name  Flags
      state  

  private jakarta.servlet.ServletRequest wrapRequest(org.apache.catalina.core.ApplicationDispatcher$State);
    descriptor: (Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // org.apache.catalina.core.ApplicationDispatcher$State state
         0: .line 857
            aconst_null
            astore 2 /* previous */
        start local 2 // jakarta.servlet.ServletRequest previous
         1: .line 858
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            astore 3 /* current */
        start local 3 // jakarta.servlet.ServletRequest current
         2: .line 859
            goto 13
         3: .line 860
      StackMap locals: jakarta.servlet.ServletRequest jakarta.servlet.ServletRequest
      StackMap stack:
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.hrequest:Ljakarta/servlet/http/HttpServletRequest;
            ifnonnull 5
            aload 3 /* current */
            instanceof jakarta.servlet.http.HttpServletRequest
            ifeq 5
         4: .line 861
            aload 1 /* state */
            aload 3 /* current */
            checkcast jakarta.servlet.http.HttpServletRequest
            putfield org.apache.catalina.core.ApplicationDispatcher$State.hrequest:Ljakarta/servlet/http/HttpServletRequest;
         5: .line 862
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            instanceof jakarta.servlet.ServletRequestWrapper
            ifne 7
         6: .line 863
            goto 14
         7: .line 864
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            instanceof org.apache.catalina.core.ApplicationHttpRequest
            ifeq 9
         8: .line 865
            goto 14
         9: .line 866
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            instanceof org.apache.catalina.core.ApplicationRequest
            ifeq 11
        10: .line 867
            goto 14
        11: .line 868
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            astore 2 /* previous */
        12: .line 869
            aload 3 /* current */
            checkcast jakarta.servlet.ServletRequestWrapper
            invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
            astore 3 /* current */
        13: .line 859
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            ifnonnull 3
        14: .line 873
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* wrapper */
        start local 4 // jakarta.servlet.ServletRequest wrapper
        15: .line 874
            aload 3 /* current */
            instanceof org.apache.catalina.core.ApplicationHttpRequest
            ifne 18
        16: .line 875
            aload 3 /* current */
            instanceof org.apache.catalina.connector.Request
            ifne 18
        17: .line 876
            aload 3 /* current */
            instanceof jakarta.servlet.http.HttpServletRequest
            ifeq 37
        18: .line 878
      StackMap locals: jakarta.servlet.ServletRequest
      StackMap stack:
            aload 3 /* current */
            checkcast jakarta.servlet.http.HttpServletRequest
            astore 5 /* hcurrent */
        start local 5 // jakarta.servlet.http.HttpServletRequest hcurrent
        19: .line 879
            iconst_0
            istore 6 /* crossContext */
        start local 6 // boolean crossContext
        20: .line 880
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            instanceof org.apache.catalina.core.ApplicationHttpRequest
            ifne 23
        21: .line 881
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            instanceof org.apache.catalina.connector.Request
            ifne 23
        22: .line 882
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            instanceof jakarta.servlet.http.HttpServletRequest
            ifeq 33
        23: .line 884
      StackMap locals: jakarta.servlet.http.HttpServletRequest int
      StackMap stack:
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            checkcast jakarta.servlet.http.HttpServletRequest
        24: .line 883
            astore 7 /* houterRequest */
        start local 7 // jakarta.servlet.http.HttpServletRequest houterRequest
        25: .line 885
            aload 7 /* houterRequest */
        26: .line 886
            ldc "jakarta.servlet.include.context_path"
        27: .line 885
            invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            astore 8 /* contextPath */
        start local 8 // java.lang.Object contextPath
        28: .line 887
            aload 8 /* contextPath */
            ifnonnull 30
        29: .line 889
            aload 7 /* houterRequest */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
            astore 8 /* contextPath */
        30: .line 891
      StackMap locals: jakarta.servlet.http.HttpServletRequest java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getPath:()Ljava/lang/String;
            aload 8 /* contextPath */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
            iconst_0
            goto 32
      StackMap locals:
      StackMap stack:
        31: iconst_1
      StackMap locals:
      StackMap stack: int
        32: istore 6 /* crossContext */
        end local 8 // java.lang.Object contextPath
        end local 7 // jakarta.servlet.http.HttpServletRequest houterRequest
        33: .line 893
      StackMap locals:
      StackMap stack:
            new org.apache.catalina.core.ApplicationHttpRequest
            dup
        34: .line 894
            aload 5 /* hcurrent */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
            iload 6 /* crossContext */
        35: .line 893
            invokespecial org.apache.catalina.core.ApplicationHttpRequest.<init>:(Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/catalina/Context;Z)V
            astore 4 /* wrapper */
        end local 6 // boolean crossContext
        end local 5 // jakarta.servlet.http.HttpServletRequest hcurrent
        36: .line 895
            goto 38
        37: .line 896
      StackMap locals:
      StackMap stack:
            new org.apache.catalina.core.ApplicationRequest
            dup
            aload 3 /* current */
            invokespecial org.apache.catalina.core.ApplicationRequest.<init>:(Ljakarta/servlet/ServletRequest;)V
            astore 4 /* wrapper */
        38: .line 898
      StackMap locals:
      StackMap stack:
            aload 2 /* previous */
            ifnonnull 40
        39: .line 899
            aload 1 /* state */
            aload 4 /* wrapper */
            putfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
            goto 41
        40: .line 901
      StackMap locals:
      StackMap stack:
            aload 2 /* previous */
            checkcast jakarta.servlet.ServletRequestWrapper
            aload 4 /* wrapper */
            invokevirtual jakarta.servlet.ServletRequestWrapper.setRequest:(Ljakarta/servlet/ServletRequest;)V
        41: .line 902
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            aload 4 /* wrapper */
            putfield org.apache.catalina.core.ApplicationDispatcher$State.wrapRequest:Ljakarta/servlet/ServletRequest;
        42: .line 903
            aload 4 /* wrapper */
            areturn
        end local 4 // jakarta.servlet.ServletRequest wrapper
        end local 3 // jakarta.servlet.ServletRequest current
        end local 2 // jakarta.servlet.ServletRequest previous
        end local 1 // org.apache.catalina.core.ApplicationDispatcher$State state
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   43     0           this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   43     1          state  Lorg/apache/catalina/core/ApplicationDispatcher$State;
            1   43     2       previous  Ljakarta/servlet/ServletRequest;
            2   43     3        current  Ljakarta/servlet/ServletRequest;
           15   43     4        wrapper  Ljakarta/servlet/ServletRequest;
           19   36     5       hcurrent  Ljakarta/servlet/http/HttpServletRequest;
           20   36     6   crossContext  Z
           25   33     7  houterRequest  Ljakarta/servlet/http/HttpServletRequest;
           28   33     8    contextPath  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      state  

  private jakarta.servlet.ServletResponse wrapResponse(org.apache.catalina.core.ApplicationDispatcher$State);
    descriptor: (Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletResponse;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // org.apache.catalina.core.ApplicationDispatcher$State state
         0: .line 915
            aconst_null
            astore 2 /* previous */
        start local 2 // jakarta.servlet.ServletResponse previous
         1: .line 916
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
            astore 3 /* current */
        start local 3 // jakarta.servlet.ServletResponse current
         2: .line 917
            goto 15
         3: .line 918
      StackMap locals: jakarta.servlet.ServletResponse jakarta.servlet.ServletResponse
      StackMap stack:
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.hresponse:Ljakarta/servlet/http/HttpServletResponse;
            ifnonnull 7
            aload 3 /* current */
            instanceof jakarta.servlet.http.HttpServletResponse
            ifeq 7
         4: .line 919
            aload 1 /* state */
            aload 3 /* current */
            checkcast jakarta.servlet.http.HttpServletResponse
            putfield org.apache.catalina.core.ApplicationDispatcher$State.hresponse:Ljakarta/servlet/http/HttpServletResponse;
         5: .line 920
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.including:Z
            ifne 7
         6: .line 921
            aconst_null
            areturn
         7: .line 923
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            instanceof jakarta.servlet.ServletResponseWrapper
            ifne 9
         8: .line 924
            goto 16
         9: .line 925
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            instanceof org.apache.catalina.core.ApplicationHttpResponse
            ifeq 11
        10: .line 926
            goto 16
        11: .line 927
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            instanceof org.apache.catalina.core.ApplicationResponse
            ifeq 13
        12: .line 928
            goto 16
        13: .line 929
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            astore 2 /* previous */
        14: .line 930
            aload 3 /* current */
            checkcast jakarta.servlet.ServletResponseWrapper
            invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
            astore 3 /* current */
        15: .line 917
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            ifnonnull 3
        16: .line 934
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* wrapper */
        start local 4 // jakarta.servlet.ServletResponse wrapper
        17: .line 935
            aload 3 /* current */
            instanceof org.apache.catalina.core.ApplicationHttpResponse
            ifne 20
        18: .line 936
            aload 3 /* current */
            instanceof org.apache.catalina.connector.Response
            ifne 20
        19: .line 937
            aload 3 /* current */
            instanceof jakarta.servlet.http.HttpServletResponse
            ifeq 25
        20: .line 939
      StackMap locals: jakarta.servlet.ServletResponse
      StackMap stack:
            new org.apache.catalina.core.ApplicationHttpResponse
            dup
            aload 3 /* current */
            checkcast jakarta.servlet.http.HttpServletResponse
        21: .line 940
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.including:Z
        22: .line 939
            invokespecial org.apache.catalina.core.ApplicationHttpResponse.<init>:(Ljakarta/servlet/http/HttpServletResponse;Z)V
        23: .line 938
            astore 4 /* wrapper */
        24: .line 940
            goto 26
        25: .line 942
      StackMap locals:
      StackMap stack:
            new org.apache.catalina.core.ApplicationResponse
            dup
            aload 3 /* current */
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.including:Z
            invokespecial org.apache.catalina.core.ApplicationResponse.<init>:(Ljakarta/servlet/ServletResponse;Z)V
            astore 4 /* wrapper */
        26: .line 943
      StackMap locals:
      StackMap stack:
            aload 2 /* previous */
            ifnonnull 28
        27: .line 944
            aload 1 /* state */
            aload 4 /* wrapper */
            putfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
            goto 29
        28: .line 946
      StackMap locals:
      StackMap stack:
            aload 2 /* previous */
            checkcast jakarta.servlet.ServletResponseWrapper
            aload 4 /* wrapper */
            invokevirtual jakarta.servlet.ServletResponseWrapper.setResponse:(Ljakarta/servlet/ServletResponse;)V
        29: .line 947
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            aload 4 /* wrapper */
            putfield org.apache.catalina.core.ApplicationDispatcher$State.wrapResponse:Ljakarta/servlet/ServletResponse;
        30: .line 948
            aload 4 /* wrapper */
            areturn
        end local 4 // jakarta.servlet.ServletResponse wrapper
        end local 3 // jakarta.servlet.ServletResponse current
        end local 2 // jakarta.servlet.ServletResponse previous
        end local 1 // org.apache.catalina.core.ApplicationDispatcher$State state
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   31     0      this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   31     1     state  Lorg/apache/catalina/core/ApplicationDispatcher$State;
            1   31     2  previous  Ljakarta/servlet/ServletResponse;
            2   31     3   current  Ljakarta/servlet/ServletResponse;
           17   31     4   wrapper  Ljakarta/servlet/ServletResponse;
    MethodParameters:
       Name  Flags
      state  

  private void checkSameObjects(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
    descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // jakarta.servlet.ServletRequest appRequest
        start local 2 // jakarta.servlet.ServletResponse appResponse
         0: .line 955
            invokestatic org.apache.catalina.core.ApplicationFilterChain.getLastServicedRequest:()Ljakarta/servlet/ServletRequest;
         1: .line 954
            astore 3 /* originalRequest */
        start local 3 // jakarta.servlet.ServletRequest originalRequest
         2: .line 957
            invokestatic org.apache.catalina.core.ApplicationFilterChain.getLastServicedResponse:()Ljakarta/servlet/ServletResponse;
         3: .line 956
            astore 4 /* originalResponse */
        start local 4 // jakarta.servlet.ServletResponse originalResponse
         4: .line 960
            aload 3 /* originalRequest */
            ifnull 5
            aload 4 /* originalResponse */
            ifnonnull 6
         5: .line 961
      StackMap locals: jakarta.servlet.ServletRequest jakarta.servlet.ServletResponse
      StackMap stack:
            return
         6: .line 964
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* same */
        start local 5 // boolean same
         7: .line 965
            aload 1 /* appRequest */
            astore 6 /* dispatchedRequest */
        start local 6 // jakarta.servlet.ServletRequest dispatchedRequest
         8: .line 968
            goto 11
         9: .line 971
      StackMap locals: int jakarta.servlet.ServletRequest
      StackMap stack:
            aload 3 /* originalRequest */
            checkcast jakarta.servlet.ServletRequestWrapper
            invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
        10: .line 970
            astore 3 /* originalRequest */
        11: .line 968
      StackMap locals:
      StackMap stack:
            aload 3 /* originalRequest */
            instanceof jakarta.servlet.ServletRequestWrapper
            ifeq 19
        12: .line 969
            aload 3 /* originalRequest */
            checkcast jakarta.servlet.ServletRequestWrapper
            invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
            ifnonnull 9
        13: .line 974
            goto 19
        14: .line 975
      StackMap locals:
      StackMap stack:
            aload 3 /* originalRequest */
            aload 6 /* dispatchedRequest */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 976
            iconst_1
            istore 5 /* same */
        16: .line 978
      StackMap locals:
      StackMap stack:
            iload 5 /* same */
            ifne 20
            aload 6 /* dispatchedRequest */
            instanceof jakarta.servlet.ServletRequestWrapper
            ifeq 20
        17: .line 980
            aload 6 /* dispatchedRequest */
            checkcast jakarta.servlet.ServletRequestWrapper
            invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
        18: .line 979
            astore 6 /* dispatchedRequest */
        19: .line 974
      StackMap locals:
      StackMap stack:
            iload 5 /* same */
            ifeq 14
        20: .line 985
      StackMap locals:
      StackMap stack:
            iload 5 /* same */
            ifne 24
        21: .line 986
            new jakarta.servlet.ServletException
            dup
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
        22: .line 987
            ldc "applicationDispatcher.specViolation.request"
        23: .line 986
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 990
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* same */
        25: .line 991
            aload 2 /* appResponse */
            astore 7 /* dispatchedResponse */
        start local 7 // jakarta.servlet.ServletResponse dispatchedResponse
        26: .line 994
            goto 29
        27: .line 998
      StackMap locals: jakarta.servlet.ServletResponse
      StackMap stack:
            aload 4 /* originalResponse */
            checkcast jakarta.servlet.ServletResponseWrapper
            invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
        28: .line 997
            astore 4 /* originalResponse */
        29: .line 994
      StackMap locals:
      StackMap stack:
            aload 4 /* originalResponse */
            instanceof jakarta.servlet.ServletResponseWrapper
            ifeq 37
        30: .line 995
            aload 4 /* originalResponse */
            checkcast jakarta.servlet.ServletResponseWrapper
            invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
            ifnonnull 27
        31: .line 1001
            goto 37
        32: .line 1002
      StackMap locals:
      StackMap stack:
            aload 4 /* originalResponse */
            aload 7 /* dispatchedResponse */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 34
        33: .line 1003
            iconst_1
            istore 5 /* same */
        34: .line 1006
      StackMap locals:
      StackMap stack:
            iload 5 /* same */
            ifne 38
            aload 7 /* dispatchedResponse */
            instanceof jakarta.servlet.ServletResponseWrapper
            ifeq 38
        35: .line 1008
            aload 7 /* dispatchedResponse */
            checkcast jakarta.servlet.ServletResponseWrapper
            invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
        36: .line 1007
            astore 7 /* dispatchedResponse */
        37: .line 1001
      StackMap locals:
      StackMap stack:
            iload 5 /* same */
            ifeq 32
        38: .line 1014
      StackMap locals:
      StackMap stack:
            iload 5 /* same */
            ifne 42
        39: .line 1015
            new jakarta.servlet.ServletException
            dup
            getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
        40: .line 1016
            ldc "applicationDispatcher.specViolation.response"
        41: .line 1015
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 1018
      StackMap locals:
      StackMap stack:
            return
        end local 7 // jakarta.servlet.ServletResponse dispatchedResponse
        end local 6 // jakarta.servlet.ServletRequest dispatchedRequest
        end local 5 // boolean same
        end local 4 // jakarta.servlet.ServletResponse originalResponse
        end local 3 // jakarta.servlet.ServletRequest originalRequest
        end local 2 // jakarta.servlet.ServletResponse appResponse
        end local 1 // jakarta.servlet.ServletRequest appRequest
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   43     0                this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0   43     1          appRequest  Ljakarta/servlet/ServletRequest;
            0   43     2         appResponse  Ljakarta/servlet/ServletResponse;
            2   43     3     originalRequest  Ljakarta/servlet/ServletRequest;
            4   43     4    originalResponse  Ljakarta/servlet/ServletResponse;
            7   43     5                same  Z
            8   43     6   dispatchedRequest  Ljakarta/servlet/ServletRequest;
           26   43     7  dispatchedResponse  Ljakarta/servlet/ServletResponse;
    Exceptions:
      throws jakarta.servlet.ServletException
    MethodParameters:
             Name  Flags
      appRequest   
      appResponse  

  private void recycleRequestWrapper(org.apache.catalina.core.ApplicationDispatcher$State);
    descriptor: (Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationDispatcher this
        start local 1 // org.apache.catalina.core.ApplicationDispatcher$State state
         0: .line 1021
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapRequest:Ljakarta/servlet/ServletRequest;
            instanceof org.apache.catalina.core.ApplicationHttpRequest
            ifeq 2
         1: .line 1022
            aload 1 /* state */
            getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapRequest:Ljakarta/servlet/ServletRequest;
            checkcast org.apache.catalina.core.ApplicationHttpRequest
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.recycle:()V
         2: .line 1024
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.catalina.core.ApplicationDispatcher$State state
        end local 0 // org.apache.catalina.core.ApplicationDispatcher this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/catalina/core/ApplicationDispatcher;
            0    3     1  state  Lorg/apache/catalina/core/ApplicationDispatcher$State;
    MethodParameters:
       Name  Flags
      state  
}
SourceFile: "ApplicationDispatcher.java"
NestMembers:
  org.apache.catalina.core.ApplicationDispatcher$PrivilegedDispatch  org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward  org.apache.catalina.core.ApplicationDispatcher$PrivilegedInclude  org.apache.catalina.core.ApplicationDispatcher$State
InnerClasses:
  protected PrivilegedDispatch = org.apache.catalina.core.ApplicationDispatcher$PrivilegedDispatch of org.apache.catalina.core.ApplicationDispatcher
  protected PrivilegedForward = org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward of org.apache.catalina.core.ApplicationDispatcher
  protected PrivilegedInclude = org.apache.catalina.core.ApplicationDispatcher$PrivilegedInclude of org.apache.catalina.core.ApplicationDispatcher
  private State = org.apache.catalina.core.ApplicationDispatcher$State of org.apache.catalina.core.ApplicationDispatcher