class org.apache.catalina.core.ApplicationHttpRequest extends javax.servlet.http.HttpServletRequestWrapper
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.catalina.core.ApplicationHttpRequest
  super_class: javax.servlet.http.HttpServletRequestWrapper
{
  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

  protected static final java.lang.String[] specials;
    descriptor: [Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private static final int SPECIALS_FIRST_FORWARD_INDEX;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  protected final org.apache.catalina.Context context;
    descriptor: Lorg/apache/catalina/Context;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected java.lang.String contextPath;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected final boolean crossContext;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected javax.servlet.DispatcherType dispatcherType;
    descriptor: Ljavax/servlet/DispatcherType;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Map<java.lang.String, java.lang.String[]> parameters;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;

  private boolean parsedParams;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  protected java.lang.String pathInfo;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  private java.lang.String queryParamString;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  protected java.lang.String queryString;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.Object requestDispatcherPath;
    descriptor: Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String requestURI;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String servletPath;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  private javax.servlet.http.HttpServletMapping mapping;
    descriptor: Ljavax/servlet/http/HttpServletMapping;
    flags: (0x0002) ACC_PRIVATE

  protected org.apache.catalina.Session session;
    descriptor: Lorg/apache/catalina/Session;
    flags: (0x0004) ACC_PROTECTED

  protected final java.lang.Object[] specialAttributes;
    descriptor: [Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 75
            ldc Lorg/apache/catalina/core/ApplicationHttpRequest;
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
            putstatic org.apache.catalina.core.ApplicationHttpRequest.sm:Lorg/apache/tomcat/util/res/StringManager;
         1: .line 81
            bipush 12
            anewarray java.lang.String
            dup
            iconst_0
            ldc "javax.servlet.include.request_uri"
            aastore
            dup
            iconst_1
         2: .line 82
            ldc "javax.servlet.include.context_path"
            aastore
            dup
            iconst_2
         3: .line 83
            ldc "javax.servlet.include.servlet_path"
            aastore
            dup
            iconst_3
         4: .line 84
            ldc "javax.servlet.include.path_info"
            aastore
            dup
            iconst_4
         5: .line 85
            ldc "javax.servlet.include.query_string"
            aastore
            dup
            iconst_5
         6: .line 86
            ldc "javax.servlet.include.mapping"
            aastore
            dup
            bipush 6
         7: .line 87
            ldc "javax.servlet.forward.request_uri"
            aastore
            dup
            bipush 7
         8: .line 88
            ldc "javax.servlet.forward.context_path"
            aastore
            dup
            bipush 8
         9: .line 89
            ldc "javax.servlet.forward.servlet_path"
            aastore
            dup
            bipush 9
        10: .line 90
            ldc "javax.servlet.forward.path_info"
            aastore
            dup
            bipush 10
        11: .line 91
            ldc "javax.servlet.forward.query_string"
            aastore
            dup
            bipush 11
        12: .line 92
            ldc "javax.servlet.forward.mapping"
            aastore
        13: .line 80
            putstatic org.apache.catalina.core.ApplicationHttpRequest.specials:[Ljava/lang/String;
        14: .line 94
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.servlet.http.HttpServletRequest, org.apache.catalina.Context, boolean);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;Lorg/apache/catalina/Context;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // javax.servlet.http.HttpServletRequest request
        start local 2 // org.apache.catalina.Context context
        start local 3 // boolean crossContext
         0: .line 111
            aload 0 /* this */
            aload 1 /* request */
            invokespecial javax.servlet.http.HttpServletRequestWrapper.<init>:(Ljavax/servlet/http/HttpServletRequest;)V
         1: .line 131
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.ApplicationHttpRequest.contextPath:Ljava/lang/String;
         2: .line 144
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.ApplicationHttpRequest.dispatcherType:Ljavax/servlet/DispatcherType;
         3: .line 151
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.ApplicationHttpRequest.parameters:Ljava/util/Map;
         4: .line 157
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.core.ApplicationHttpRequest.parsedParams:Z
         5: .line 163
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.ApplicationHttpRequest.pathInfo:Ljava/lang/String;
         6: .line 169
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.ApplicationHttpRequest.queryParamString:Ljava/lang/String;
         7: .line 175
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.ApplicationHttpRequest.queryString:Ljava/lang/String;
         8: .line 181
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.ApplicationHttpRequest.requestDispatcherPath:Ljava/lang/Object;
         9: .line 187
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.ApplicationHttpRequest.requestURI:Ljava/lang/String;
        10: .line 193
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.ApplicationHttpRequest.servletPath:Ljava/lang/String;
        11: .line 199
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.ApplicationHttpRequest.mapping:Ljavax/servlet/http/HttpServletMapping;
        12: .line 205
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.ApplicationHttpRequest.session:Lorg/apache/catalina/Session;
        13: .line 211
            aload 0 /* this */
            getstatic org.apache.catalina.core.ApplicationHttpRequest.specials:[Ljava/lang/String;
            arraylength
            anewarray java.lang.Object
            putfield org.apache.catalina.core.ApplicationHttpRequest.specialAttributes:[Ljava/lang/Object;
        14: .line 112
            aload 0 /* this */
            aload 2 /* context */
            putfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
        15: .line 113
            aload 0 /* this */
            iload 3 /* crossContext */
            putfield org.apache.catalina.core.ApplicationHttpRequest.crossContext:Z
        16: .line 114
            aload 0 /* this */
            aload 1 /* request */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setRequest:(Ljavax/servlet/http/HttpServletRequest;)V
        17: .line 116
            return
        end local 3 // boolean crossContext
        end local 2 // org.apache.catalina.Context context
        end local 1 // javax.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0   18     1       request  Ljavax/servlet/http/HttpServletRequest;
            0   18     2       context  Lorg/apache/catalina/Context;
            0   18     3  crossContext  Z
    MethodParameters:
              Name  Flags
      request       
      context       
      crossContext  

  public javax.servlet.ServletContext getServletContext();
    descriptor: ()Ljavax/servlet/ServletContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 218
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            ifnonnull 2
         1: .line 219
            aconst_null
            areturn
         2: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getServletContext:()Ljavax/servlet/ServletContext;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  public java.lang.Object getAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String name
         0: .line 233
            aload 1 /* name */
            ldc "org.apache.catalina.core.DISPATCHER_TYPE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 234
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.dispatcherType:Ljavax/servlet/DispatcherType;
            areturn
         2: .line 235
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 236
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.requestDispatcherPath:Ljava/lang/Object;
            ifnull 5
         4: .line 237
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.requestDispatcherPath:Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         5: .line 239
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         6: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getSpecial:(Ljava/lang/String;)I
            istore 2 /* pos */
        start local 2 // int pos
         7: .line 244
            iload 2 /* pos */
            iconst_m1
            if_icmpne 9
         8: .line 245
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getRequest:()Ljavax/servlet/ServletRequest;
            aload 1 /* name */
            invokeinterface javax.servlet.ServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
         9: .line 247
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.specialAttributes:[Ljava/lang/Object;
            iload 2 /* pos */
            aaload
            ifnonnull 13
        10: .line 248
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.specialAttributes:[Ljava/lang/Object;
            bipush 6
            aaload
            ifnonnull 13
        11: .line 249
            iload 2 /* pos */
            bipush 6
            if_icmplt 13
        12: .line 253
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getRequest:()Ljavax/servlet/ServletRequest;
            aload 1 /* name */
            invokeinterface javax.servlet.ServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        13: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.specialAttributes:[Ljava/lang/Object;
            iload 2 /* pos */
            aaload
            areturn
        end local 2 // int pos
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0   14     1  name  Ljava/lang/String;
            7   14     2   pos  I
    MethodParameters:
      Name  Flags
      name  

  public java.util.Enumeration<java.lang.String> getAttributeNames();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 268
            new org.apache.catalina.core.ApplicationHttpRequest$AttributeNamesEnumerator
            dup
            aload 0 /* this */
            invokespecial org.apache.catalina.core.ApplicationHttpRequest$AttributeNamesEnumerator.<init>:(Lorg/apache/catalina/core/ApplicationHttpRequest;)V
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

  public void removeAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String name
         0: .line 281
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.removeSpecial:(Ljava/lang/String;)Z
            ifne 2
         1: .line 282
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getRequest:()Ljavax/servlet/ServletRequest;
            aload 1 /* name */
            invokeinterface javax.servlet.ServletRequest.removeAttribute:(Ljava/lang/String;)V
         2: .line 284
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void setAttribute(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
         0: .line 297
            aload 1 /* name */
            ldc "org.apache.catalina.core.DISPATCHER_TYPE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 298
            aload 0 /* this */
            aload 2 /* value */
            checkcast javax.servlet.DispatcherType
            putfield org.apache.catalina.core.ApplicationHttpRequest.dispatcherType:Ljavax/servlet/DispatcherType;
         2: .line 299
            return
         3: .line 300
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 301
            aload 0 /* this */
            aload 2 /* value */
            putfield org.apache.catalina.core.ApplicationHttpRequest.requestDispatcherPath:Ljava/lang/Object;
         5: .line 302
            return
         6: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setSpecial:(Ljava/lang/String;Ljava/lang/Object;)Z
            ifne 8
         7: .line 306
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getRequest:()Ljavax/servlet/ServletRequest;
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface javax.servlet.ServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 309
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    9     1   name  Ljava/lang/String;
            0    9     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      name   
      value  

  public javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/servlet/RequestDispatcher;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String path
         0: .line 321
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            ifnonnull 2
         1: .line 322
            aconst_null
            areturn
         2: .line 324
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            ifnonnull 4
         3: .line 325
            aconst_null
            areturn
         4: .line 328
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            bipush 35
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* fragmentPos */
        start local 2 // int fragmentPos
         5: .line 329
            iload 2 /* fragmentPos */
            iconst_m1
            if_icmple 8
         6: .line 330
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.core.ApplicationHttpRequest.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "applicationHttpRequest.fragmentInDispatchPath"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* path */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
         7: .line 331
            aload 1 /* path */
            iconst_0
            iload 2 /* fragmentPos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* path */
         8: .line 335
      StackMap locals: int
      StackMap stack:
            aload 1 /* path */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 336
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getServletContext:()Ljavax/servlet/ServletContext;
            aload 1 /* path */
            invokeinterface javax.servlet.ServletContext.getRequestDispatcher:(Ljava/lang/String;)Ljavax/servlet/RequestDispatcher;
            areturn
        10: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "javax.servlet.include.servlet_path"
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
        11: .line 340
            astore 3 /* servletPath */
        start local 3 // java.lang.String servletPath
        12: .line 342
            aload 3 /* servletPath */
            ifnonnull 14
        13: .line 343
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getServletPath:()Ljava/lang/String;
            astore 3 /* servletPath */
        14: .line 346
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getPathInfo:()Ljava/lang/String;
            astore 4 /* pathInfo */
        start local 4 // java.lang.String pathInfo
        15: .line 347
            aconst_null
            astore 5 /* requestPath */
        start local 5 // java.lang.String requestPath
        16: .line 349
            aload 4 /* pathInfo */
            ifnonnull 19
        17: .line 350
            aload 3 /* servletPath */
            astore 5 /* requestPath */
        18: .line 351
            goto 20
        19: .line 352
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* servletPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* pathInfo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* requestPath */
        20: .line 355
      StackMap locals:
      StackMap stack:
            aload 5 /* requestPath */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 6 /* pos */
        start local 6 // int pos
        21: .line 356
            aconst_null
            astore 7 /* relative */
        start local 7 // java.lang.String relative
        22: .line 357
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getDispatchersUseEncodedPaths:()Z
            ifeq 32
        23: .line 358
            iload 6 /* pos */
            iflt 30
        24: .line 359
            new java.lang.StringBuilder
            dup
            getstatic org.apache.catalina.util.URLEncoder.DEFAULT:Lorg/apache/catalina/util/URLEncoder;
        25: .line 360
            aload 5 /* requestPath */
            iconst_0
            iload 6 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
        26: .line 359
            invokevirtual org.apache.catalina.util.URLEncoder.encode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 360
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 359
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* relative */
        29: .line 361
            goto 36
        30: .line 362
      StackMap locals: int java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            getstatic org.apache.catalina.util.URLEncoder.DEFAULT:Lorg/apache/catalina/util/URLEncoder;
            aload 5 /* requestPath */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual org.apache.catalina.util.URLEncoder.encode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* relative */
        31: .line 364
            goto 36
        32: .line 365
      StackMap locals:
      StackMap stack:
            iload 6 /* pos */
            iflt 35
        33: .line 366
            new java.lang.StringBuilder
            dup
            aload 5 /* requestPath */
            iconst_0
            iload 6 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* relative */
        34: .line 367
            goto 36
        35: .line 368
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* requestPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* relative */
        36: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getServletContext:()Ljavax/servlet/ServletContext;
            aload 7 /* relative */
            invokeinterface javax.servlet.ServletContext.getRequestDispatcher:(Ljava/lang/String;)Ljavax/servlet/RequestDispatcher;
            areturn
        end local 7 // java.lang.String relative
        end local 6 // int pos
        end local 5 // java.lang.String requestPath
        end local 4 // java.lang.String pathInfo
        end local 3 // java.lang.String servletPath
        end local 2 // int fragmentPos
        end local 1 // java.lang.String path
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   37     0         this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0   37     1         path  Ljava/lang/String;
            5   37     2  fragmentPos  I
           12   37     3  servletPath  Ljava/lang/String;
           15   37     4     pathInfo  Ljava/lang/String;
           16   37     5  requestPath  Ljava/lang/String;
           21   37     6          pos  I
           22   37     7     relative  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public javax.servlet.DispatcherType getDispatcherType();
    descriptor: ()Ljavax/servlet/DispatcherType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 383
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.dispatcherType:Ljavax/servlet/DispatcherType;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  public java.lang.String getContextPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 396
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.contextPath:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  public java.lang.String getParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String name
         0: .line 407
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.parseParameters:()V
         1: .line 409
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.parameters:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 2 /* value */
        start local 2 // java.lang.String[] value
         2: .line 410
            aload 2 /* value */
            ifnonnull 4
         3: .line 411
            aconst_null
            areturn
         4: .line 413
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 2 /* value */
            iconst_0
            aaload
            areturn
        end local 2 // java.lang.String[] value
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    5     1   name  Ljava/lang/String;
            2    5     2  value  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Map<java.lang.String, java.lang.String[]> getParameterMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 423
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.parseParameters:()V
         1: .line 424
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.parameters:Ljava/util/Map;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;
    Signature: ()Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;

  public java.util.Enumeration<java.lang.String> getParameterNames();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 434
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.parseParameters:()V
         1: .line 435
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.parameters:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic java.util.Collections.enumeration:(Ljava/util/Collection;)Ljava/util/Enumeration;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

  public java.lang.String[] getParameterValues(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String name
         0: .line 447
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.parseParameters:()V
         1: .line 448
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.parameters:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getPathInfo();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 457
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.pathInfo:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  public java.lang.String getPathTranslated();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 467
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getPathInfo:()Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getServletContext:()Ljavax/servlet/ServletContext;
            ifnonnull 2
         1: .line 468
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getServletContext:()Ljavax/servlet/ServletContext;
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getPathInfo:()Ljava/lang/String;
            invokeinterface javax.servlet.ServletContext.getRealPath:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  public java.lang.String getQueryString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 481
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.queryString:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  public java.lang.String getRequestURI();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 491
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.requestURI:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  public java.lang.StringBuffer getRequestURL();
    descriptor: ()Ljava/lang/StringBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 501
            aload 0 /* this */
            invokestatic org.apache.catalina.util.RequestUtil.getRequestURL:(Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/StringBuffer;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  public java.lang.String getServletPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 511
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.servletPath:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  public javax.servlet.http.HttpServletMapping getHttpServletMapping();
    descriptor: ()Ljavax/servlet/http/HttpServletMapping;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 517
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.mapping:Ljavax/servlet/http/HttpServletMapping;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  public javax.servlet.http.HttpSession getSession();
    descriptor: ()Ljavax/servlet/http/HttpSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 527
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getSession:(Z)Ljavax/servlet/http/HttpSession;
            areturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  public javax.servlet.http.HttpSession getSession(boolean);
    descriptor: (Z)Ljavax/servlet/http/HttpSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // boolean create
         0: .line 540
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.crossContext:Z
            ifeq 24
         1: .line 543
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            ifnonnull 3
         2: .line 544
            aconst_null
            areturn
         3: .line 547
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.session:Lorg/apache/catalina/Session;
            ifnull 5
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.session:Lorg/apache/catalina/Session;
            invokeinterface org.apache.catalina.Session.isValid:()Z
            ifeq 5
         4: .line 548
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.session:Lorg/apache/catalina/Session;
            invokeinterface org.apache.catalina.Session.getSession:()Ljavax/servlet/http/HttpSession;
            areturn
         5: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokespecial javax.servlet.http.HttpServletRequestWrapper.getSession:(Z)Ljavax/servlet/http/HttpSession;
            astore 2 /* other */
        start local 2 // javax.servlet.http.HttpSession other
         6: .line 552
            iload 1 /* create */
            ifeq 8
            aload 2 /* other */
            ifnonnull 8
         7: .line 556
            aload 0 /* this */
            iconst_1
            invokespecial javax.servlet.http.HttpServletRequestWrapper.getSession:(Z)Ljavax/servlet/http/HttpSession;
            astore 2 /* other */
         8: .line 558
      StackMap locals: javax.servlet.http.HttpSession
      StackMap stack:
            aload 2 /* other */
            ifnull 23
         9: .line 559
            aconst_null
            astore 3 /* localSession */
        start local 3 // org.apache.catalina.Session localSession
        10: .line 562
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getManager:()Lorg/apache/catalina/Manager;
            aload 2 /* other */
            invokeinterface javax.servlet.http.HttpSession.getId:()Ljava/lang/String;
            invokeinterface org.apache.catalina.Manager.findSession:(Ljava/lang/String;)Lorg/apache/catalina/Session;
        11: .line 561
            astore 3 /* localSession */
        12: .line 563
            aload 3 /* localSession */
            ifnull 16
            aload 3 /* localSession */
            invokeinterface org.apache.catalina.Session.isValid:()Z
            ifne 16
        13: .line 564
            aconst_null
            astore 3 /* localSession */
        14: .line 566
            goto 16
      StackMap locals: org.apache.catalina.core.ApplicationHttpRequest int javax.servlet.http.HttpSession org.apache.catalina.Session
      StackMap stack: java.io.IOException
        15: pop
        16: .line 569
      StackMap locals:
      StackMap stack:
            aload 3 /* localSession */
            ifnonnull 19
            iload 1 /* create */
            ifeq 19
        17: .line 571
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getManager:()Lorg/apache/catalina/Manager;
            aload 2 /* other */
            invokeinterface javax.servlet.http.HttpSession.getId:()Ljava/lang/String;
            invokeinterface org.apache.catalina.Manager.createSession:(Ljava/lang/String;)Lorg/apache/catalina/Session;
        18: .line 570
            astore 3 /* localSession */
        19: .line 573
      StackMap locals:
      StackMap stack:
            aload 3 /* localSession */
            ifnull 23
        20: .line 574
            aload 3 /* localSession */
            invokeinterface org.apache.catalina.Session.access:()V
        21: .line 575
            aload 0 /* this */
            aload 3 /* localSession */
            putfield org.apache.catalina.core.ApplicationHttpRequest.session:Lorg/apache/catalina/Session;
        22: .line 576
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.session:Lorg/apache/catalina/Session;
            invokeinterface org.apache.catalina.Session.getSession:()Ljavax/servlet/http/HttpSession;
            areturn
        end local 3 // org.apache.catalina.Session localSession
        23: .line 579
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // javax.servlet.http.HttpSession other
        24: .line 582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* create */
            invokespecial javax.servlet.http.HttpServletRequestWrapper.getSession:(Z)Ljavax/servlet/http/HttpSession;
            areturn
        end local 1 // boolean create
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0   25     1        create  Z
            6   24     2         other  Ljavax/servlet/http/HttpSession;
           10   23     3  localSession  Lorg/apache/catalina/Session;
      Exception table:
        from    to  target  type
          10    14      15  Class java.io.IOException
    MethodParameters:
        Name  Flags
      create  

  public boolean isRequestedSessionIdValid();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 598
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.crossContext:Z
            ifeq 16
         1: .line 600
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getRequestedSessionId:()Ljava/lang/String;
            astore 1 /* requestedSessionId */
        start local 1 // java.lang.String requestedSessionId
         2: .line 601
            aload 1 /* requestedSessionId */
            ifnonnull 4
         3: .line 602
            iconst_0
            ireturn
         4: .line 603
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            ifnonnull 6
         5: .line 604
            iconst_0
            ireturn
         6: .line 605
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.context:Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getManager:()Lorg/apache/catalina/Manager;
            astore 2 /* manager */
        start local 2 // org.apache.catalina.Manager manager
         7: .line 606
            aload 2 /* manager */
            ifnonnull 9
         8: .line 607
            iconst_0
            ireturn
         9: .line 608
      StackMap locals: org.apache.catalina.Manager
      StackMap stack:
            aconst_null
            astore 3 /* session */
        start local 3 // org.apache.catalina.Session session
        10: .line 610
            aload 2 /* manager */
            aload 1 /* requestedSessionId */
            invokeinterface org.apache.catalina.Manager.findSession:(Ljava/lang/String;)Lorg/apache/catalina/Session;
            astore 3 /* session */
        11: .line 611
            goto 13
      StackMap locals: org.apache.catalina.core.ApplicationHttpRequest java.lang.String org.apache.catalina.Manager org.apache.catalina.Session
      StackMap stack: java.io.IOException
        12: pop
        13: .line 614
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
            ifnull 15
            aload 3 /* session */
            invokeinterface org.apache.catalina.Session.isValid:()Z
            ifeq 15
        14: .line 615
            iconst_1
            ireturn
        15: .line 617
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.apache.catalina.Session session
        end local 2 // org.apache.catalina.Manager manager
        end local 1 // java.lang.String requestedSessionId
        16: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial javax.servlet.http.HttpServletRequestWrapper.isRequestedSessionIdValid:()Z
            ireturn
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            2   16     1  requestedSessionId  Ljava/lang/String;
            7   16     2             manager  Lorg/apache/catalina/Manager;
           10   16     3             session  Lorg/apache/catalina/Session;
      Exception table:
        from    to  target  type
          10    11      12  Class java.io.IOException

  public javax.servlet.http.PushBuilder newPushBuilder();
    descriptor: ()Ljavax/servlet/http/PushBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 628
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getRequest:()Ljavax/servlet/ServletRequest;
            astore 1 /* current */
        start local 1 // javax.servlet.ServletRequest current
         1: .line 629
            goto 3
         2: .line 630
      StackMap locals: javax.servlet.ServletRequest
      StackMap stack:
            aload 1 /* current */
            checkcast javax.servlet.ServletRequestWrapper
            invokevirtual javax.servlet.ServletRequestWrapper.getRequest:()Ljavax/servlet/ServletRequest;
            astore 1 /* current */
         3: .line 629
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            instanceof javax.servlet.ServletRequestWrapper
            ifne 2
         4: .line 632
            aload 1 /* current */
            instanceof org.apache.catalina.connector.RequestFacade
            ifeq 6
         5: .line 633
            aload 1 /* current */
            checkcast org.apache.catalina.connector.RequestFacade
            aload 0 /* this */
            invokevirtual org.apache.catalina.connector.RequestFacade.newPushBuilder:(Ljavax/servlet/http/HttpServletRequest;)Ljavax/servlet/http/PushBuilder;
            areturn
         6: .line 635
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // javax.servlet.ServletRequest current
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            1    7     1  current  Ljavax/servlet/ServletRequest;

  public void recycle();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 646
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.session:Lorg/apache/catalina/Session;
            ifnull 2
         1: .line 647
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.session:Lorg/apache/catalina/Session;
            invokeinterface org.apache.catalina.Session.endAccess:()V
         2: .line 649
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  void setContextPath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String contextPath
         0: .line 659
            aload 0 /* this */
            aload 1 /* contextPath */
            putfield org.apache.catalina.core.ApplicationHttpRequest.contextPath:Ljava/lang/String;
         1: .line 661
            return
        end local 1 // java.lang.String contextPath
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    2     1  contextPath  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      contextPath  

  void setPathInfo(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String pathInfo
         0: .line 671
            aload 0 /* this */
            aload 1 /* pathInfo */
            putfield org.apache.catalina.core.ApplicationHttpRequest.pathInfo:Ljava/lang/String;
         1: .line 673
            return
        end local 1 // java.lang.String pathInfo
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    2     1  pathInfo  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      pathInfo  

  void setQueryString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String queryString
         0: .line 683
            aload 0 /* this */
            aload 1 /* queryString */
            putfield org.apache.catalina.core.ApplicationHttpRequest.queryString:Ljava/lang/String;
         1: .line 685
            return
        end local 1 // java.lang.String queryString
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    2     1  queryString  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      queryString  

  void setRequest(javax.servlet.http.HttpServletRequest);
    descriptor: (Ljavax/servlet/http/HttpServletRequest;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // javax.servlet.http.HttpServletRequest request
         0: .line 695
            aload 0 /* this */
            aload 1 /* request */
            invokespecial javax.servlet.http.HttpServletRequestWrapper.setRequest:(Ljavax/servlet/ServletRequest;)V
         1: .line 698
            aload 0 /* this */
            aload 1 /* request */
            ldc "org.apache.catalina.core.DISPATCHER_TYPE"
            invokeinterface javax.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast javax.servlet.DispatcherType
            putfield org.apache.catalina.core.ApplicationHttpRequest.dispatcherType:Ljavax/servlet/DispatcherType;
         2: .line 699
            aload 0 /* this */
         3: .line 700
            aload 1 /* request */
            ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
            invokeinterface javax.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
         4: .line 699
            putfield org.apache.catalina.core.ApplicationHttpRequest.requestDispatcherPath:Ljava/lang/Object;
         5: .line 703
            aload 0 /* this */
            aload 1 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
            putfield org.apache.catalina.core.ApplicationHttpRequest.contextPath:Ljava/lang/String;
         6: .line 704
            aload 0 /* this */
            aload 1 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getPathInfo:()Ljava/lang/String;
            putfield org.apache.catalina.core.ApplicationHttpRequest.pathInfo:Ljava/lang/String;
         7: .line 705
            aload 0 /* this */
            aload 1 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
            putfield org.apache.catalina.core.ApplicationHttpRequest.queryString:Ljava/lang/String;
         8: .line 706
            aload 0 /* this */
            aload 1 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
            putfield org.apache.catalina.core.ApplicationHttpRequest.requestURI:Ljava/lang/String;
         9: .line 707
            aload 0 /* this */
            aload 1 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
            putfield org.apache.catalina.core.ApplicationHttpRequest.servletPath:Ljava/lang/String;
        10: .line 708
            aload 0 /* this */
            aload 1 /* request */
            invokeinterface javax.servlet.http.HttpServletRequest.getHttpServletMapping:()Ljavax/servlet/http/HttpServletMapping;
            putfield org.apache.catalina.core.ApplicationHttpRequest.mapping:Ljavax/servlet/http/HttpServletMapping;
        11: .line 709
            return
        end local 1 // javax.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0   12     1  request  Ljavax/servlet/http/HttpServletRequest;
    MethodParameters:
         Name  Flags
      request  

  void setRequestURI(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String requestURI
         0: .line 719
            aload 0 /* this */
            aload 1 /* requestURI */
            putfield org.apache.catalina.core.ApplicationHttpRequest.requestURI:Ljava/lang/String;
         1: .line 721
            return
        end local 1 // java.lang.String requestURI
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    2     1  requestURI  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      requestURI  

  void setServletPath(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String servletPath
         0: .line 731
            aload 0 /* this */
            aload 1 /* servletPath */
            putfield org.apache.catalina.core.ApplicationHttpRequest.servletPath:Ljava/lang/String;
         1: .line 733
            return
        end local 1 // java.lang.String servletPath
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    2     1  servletPath  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      servletPath  

  void parseParameters();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 744
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.parsedParams:Z
            ifeq 2
         1: .line 745
            return
         2: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.apache.catalina.util.ParameterMap
            dup
            invokespecial org.apache.catalina.util.ParameterMap.<init>:()V
            putfield org.apache.catalina.core.ApplicationHttpRequest.parameters:Ljava/util/Map;
         3: .line 749
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.parameters:Ljava/util/Map;
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getRequest:()Ljavax/servlet/ServletRequest;
            invokeinterface javax.servlet.ServletRequest.getParameterMap:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         4: .line 750
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.mergeParameters:()V
         5: .line 751
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.parameters:Ljava/util/Map;
            checkcast org.apache.catalina.util.ParameterMap
            iconst_1
            invokevirtual org.apache.catalina.util.ParameterMap.setLocked:(Z)V
         6: .line 752
            aload 0 /* this */
            iconst_1
            putfield org.apache.catalina.core.ApplicationHttpRequest.parsedParams:Z
         7: .line 753
            return
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;

  void setQueryParams(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String queryString
         0: .line 763
            aload 0 /* this */
            aload 1 /* queryString */
            putfield org.apache.catalina.core.ApplicationHttpRequest.queryParamString:Ljava/lang/String;
         1: .line 764
            return
        end local 1 // java.lang.String queryString
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    2     1  queryString  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      queryString  

  void setMapping(javax.servlet.http.HttpServletMapping);
    descriptor: (Ljavax/servlet/http/HttpServletMapping;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // javax.servlet.http.HttpServletMapping mapping
         0: .line 768
            aload 0 /* this */
            aload 1 /* mapping */
            putfield org.apache.catalina.core.ApplicationHttpRequest.mapping:Ljavax/servlet/http/HttpServletMapping;
         1: .line 769
            return
        end local 1 // javax.servlet.http.HttpServletMapping mapping
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    2     1  mapping  Ljavax/servlet/http/HttpServletMapping;
    MethodParameters:
         Name  Flags
      mapping  

  protected boolean isSpecial(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String name
         0: .line 782
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 783
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.catalina.core.ApplicationHttpRequest.specials:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 784
            iconst_1
            ireturn
         4: .line 782
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            getstatic org.apache.catalina.core.ApplicationHttpRequest.specials:[Ljava/lang/String;
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 786
            iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    7     1  name  Ljava/lang/String;
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      name  

  protected int getSpecial(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String name
         0: .line 798
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 799
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.catalina.core.ApplicationHttpRequest.specials:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 800
            iload 2 /* i */
            ireturn
         4: .line 798
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            getstatic org.apache.catalina.core.ApplicationHttpRequest.specials:[Ljava/lang/String;
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 803
            iconst_m1
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    7     1  name  Ljava/lang/String;
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      name  

  protected boolean setSpecial(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
         0: .line 813
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 6
         2: .line 814
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.catalina.core.ApplicationHttpRequest.specials:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 815
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.specialAttributes:[Ljava/lang/Object;
            iload 3 /* i */
            aload 2 /* value */
            aastore
         4: .line 816
            iconst_1
            ireturn
         5: .line 813
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            getstatic org.apache.catalina.core.ApplicationHttpRequest.specials:[Ljava/lang/String;
            arraylength
            if_icmplt 2
        end local 3 // int i
         7: .line 819
            iconst_0
            ireturn
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    8     1   name  Ljava/lang/String;
            0    8     2  value  Ljava/lang/Object;
            1    7     3      i  I
    MethodParameters:
       Name  Flags
      name   
      value  

  protected boolean removeSpecial(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String name
         0: .line 829
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 6
         2: .line 830
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.catalina.core.ApplicationHttpRequest.specials:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 831
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.specialAttributes:[Ljava/lang/Object;
            iload 2 /* i */
            aconst_null
            aastore
         4: .line 832
            iconst_1
            ireturn
         5: .line 829
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            getstatic org.apache.catalina.core.ApplicationHttpRequest.specials:[Ljava/lang/String;
            arraylength
            if_icmplt 2
        end local 2 // int i
         7: .line 835
            iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0    8     1  name  Ljava/lang/String;
            1    7     2     i  I
    MethodParameters:
      Name  Flags
      name  

  private java.lang.String[] mergeValues(java.lang.String[], java.lang.String[]);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
        start local 1 // java.lang.String[] values1
        start local 2 // java.lang.String[] values2
         0: .line 847
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* results */
        start local 3 // java.util.List results
         1: .line 849
            aload 1 /* values1 */
            ifnull 7
         2: .line 852
            aload 1 /* values1 */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 6
      StackMap locals: org.apache.catalina.core.ApplicationHttpRequest java.lang.String[] java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* value */
        start local 4 // java.lang.String value
         4: .line 853
            aload 3 /* results */
            aload 4 /* value */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String value
         5: .line 852
            iinc 5 1
      StackMap locals:
      StackMap stack:
         6: iload 5
            iload 6
            if_icmplt 3
         7: .line 857
      StackMap locals: org.apache.catalina.core.ApplicationHttpRequest java.lang.String[] java.lang.String[] java.util.List
      StackMap stack:
            aload 2 /* values2 */
            ifnull 13
         8: .line 860
            aload 2 /* values2 */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 12
      StackMap locals: org.apache.catalina.core.ApplicationHttpRequest java.lang.String[] java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
         9: aload 7
            iload 5
            aaload
            astore 4 /* value */
        start local 4 // java.lang.String value
        10: .line 861
            aload 3 /* results */
            aload 4 /* value */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String value
        11: .line 860
            iinc 5 1
      StackMap locals:
      StackMap stack:
        12: iload 5
            iload 6
            if_icmplt 9
        13: .line 865
      StackMap locals: org.apache.catalina.core.ApplicationHttpRequest java.lang.String[] java.lang.String[] java.util.List
      StackMap stack:
            aload 3 /* results */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 4 /* values */
        start local 4 // java.lang.String[] values
        14: .line 866
            aload 3 /* results */
            aload 4 /* values */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 4 // java.lang.String[] values
        end local 3 // java.util.List results
        end local 2 // java.lang.String[] values2
        end local 1 // java.lang.String[] values1
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            0   15     1  values1  [Ljava/lang/String;
            0   15     2  values2  [Ljava/lang/String;
            1   15     3  results  Ljava/util/List<Ljava/lang/Object;>;
            4    5     4    value  Ljava/lang/String;
           10   11     4    value  Ljava/lang/String;
           14   15     4   values  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      values1  
      values2  

  private void mergeParameters();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // org.apache.catalina.core.ApplicationHttpRequest this
         0: .line 881
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.queryParamString:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.queryParamString:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpge 2
         1: .line 882
      StackMap locals:
      StackMap stack:
            return
         2: .line 885
      StackMap locals:
      StackMap stack:
            new org.apache.tomcat.util.http.Parameters
            dup
            invokespecial org.apache.tomcat.util.http.Parameters.<init>:()V
            astore 1 /* paramParser */
        start local 1 // org.apache.tomcat.util.http.Parameters paramParser
         3: .line 886
            invokestatic org.apache.tomcat.util.buf.MessageBytes.newInstance:()Lorg/apache/tomcat/util/buf/MessageBytes;
            astore 2 /* queryMB */
        start local 2 // org.apache.tomcat.util.buf.MessageBytes queryMB
         4: .line 887
            aload 2 /* queryMB */
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.queryParamString:Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
         5: .line 895
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.getCharacterEncoding:()Ljava/lang/String;
            astore 3 /* encoding */
        start local 3 // java.lang.String encoding
         6: .line 896
            aconst_null
            astore 4 /* charset */
        start local 4 // java.nio.charset.Charset charset
         7: .line 897
            aload 3 /* encoding */
            ifnull 13
         8: .line 899
            aload 3 /* encoding */
            invokestatic org.apache.tomcat.util.buf.B2CConverter.getCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 4 /* charset */
         9: .line 900
            aload 2 /* queryMB */
            aload 4 /* charset */
            invokevirtual org.apache.tomcat.util.buf.MessageBytes.setCharset:(Ljava/nio/charset/Charset;)V
        10: .line 901
            goto 13
      StackMap locals: org.apache.catalina.core.ApplicationHttpRequest org.apache.tomcat.util.http.Parameters org.apache.tomcat.util.buf.MessageBytes java.lang.String java.nio.charset.Charset
      StackMap stack: java.io.UnsupportedEncodingException
        11: pop
        12: .line 903
            getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
            astore 4 /* charset */
        13: .line 907
      StackMap locals:
      StackMap stack:
            aload 1 /* paramParser */
            aload 2 /* queryMB */
            invokevirtual org.apache.tomcat.util.http.Parameters.setQuery:(Lorg/apache/tomcat/util/buf/MessageBytes;)V
        14: .line 908
            aload 1 /* paramParser */
            aload 4 /* charset */
            invokevirtual org.apache.tomcat.util.http.Parameters.setQueryStringCharset:(Ljava/nio/charset/Charset;)V
        15: .line 909
            aload 1 /* paramParser */
            invokevirtual org.apache.tomcat.util.http.Parameters.handleQueryParameters:()V
        16: .line 912
            aload 1 /* paramParser */
            invokevirtual org.apache.tomcat.util.http.Parameters.getParameterNames:()Ljava/util/Enumeration;
            astore 5 /* dispParamNames */
        start local 5 // java.util.Enumeration dispParamNames
        17: .line 913
            goto 25
        18: .line 914
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 5 /* dispParamNames */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* dispParamName */
        start local 6 // java.lang.String dispParamName
        19: .line 915
            aload 1 /* paramParser */
            aload 6 /* dispParamName */
            invokevirtual org.apache.tomcat.util.http.Parameters.getParameterValues:(Ljava/lang/String;)[Ljava/lang/String;
            astore 7 /* dispParamValues */
        start local 7 // java.lang.String[] dispParamValues
        20: .line 916
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.parameters:Ljava/util/Map;
            aload 6 /* dispParamName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 8 /* originalValues */
        start local 8 // java.lang.String[] originalValues
        21: .line 917
            aload 8 /* originalValues */
            ifnonnull 24
        22: .line 918
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.parameters:Ljava/util/Map;
            aload 6 /* dispParamName */
            aload 7 /* dispParamValues */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 919
            goto 25
        24: .line 921
      StackMap locals: java.lang.String java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.ApplicationHttpRequest.parameters:Ljava/util/Map;
            aload 6 /* dispParamName */
            aload 0 /* this */
            aload 7 /* dispParamValues */
            aload 8 /* originalValues */
            invokevirtual org.apache.catalina.core.ApplicationHttpRequest.mergeValues:([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.String[] originalValues
        end local 7 // java.lang.String[] dispParamValues
        end local 6 // java.lang.String dispParamName
        25: .line 913
      StackMap locals:
      StackMap stack:
            aload 5 /* dispParamNames */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 18
        26: .line 923
            return
        end local 5 // java.util.Enumeration dispParamNames
        end local 4 // java.nio.charset.Charset charset
        end local 3 // java.lang.String encoding
        end local 2 // org.apache.tomcat.util.buf.MessageBytes queryMB
        end local 1 // org.apache.tomcat.util.http.Parameters paramParser
        end local 0 // org.apache.catalina.core.ApplicationHttpRequest this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   27     0             this  Lorg/apache/catalina/core/ApplicationHttpRequest;
            3   27     1      paramParser  Lorg/apache/tomcat/util/http/Parameters;
            4   27     2          queryMB  Lorg/apache/tomcat/util/buf/MessageBytes;
            6   27     3         encoding  Ljava/lang/String;
            7   27     4          charset  Ljava/nio/charset/Charset;
           17   27     5   dispParamNames  Ljava/util/Enumeration<Ljava/lang/String;>;
           19   25     6    dispParamName  Ljava/lang/String;
           20   25     7  dispParamValues  [Ljava/lang/String;
           21   25     8   originalValues  [Ljava/lang/String;
      Exception table:
        from    to  target  type
           8    10      11  Class java.io.UnsupportedEncodingException
}
SourceFile: "ApplicationHttpRequest.java"
NestMembers:
  org.apache.catalina.core.ApplicationHttpRequest$AttributeNamesEnumerator
InnerClasses:
  protected AttributeNamesEnumerator = org.apache.catalina.core.ApplicationHttpRequest$AttributeNamesEnumerator of org.apache.catalina.core.ApplicationHttpRequest