public class org.apache.catalina.startup.WebAnnotationSet
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.startup.WebAnnotationSet
  super_class: java.lang.Object
{
  private static final java.lang.String SEPARATOR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/"

  private static final java.lang.String MAPPED_NAME_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "mappedName"

  protected static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.startup.WebAnnotationSet this
         0: .line 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.catalina.startup.WebAnnotationSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/startup/WebAnnotationSet;

  public static void loadApplicationAnnotations(org.apache.catalina.Context);
    descriptor: (Lorg/apache/catalina/Context;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.Context context
         0: .line 67
            aload 0 /* context */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations:(Lorg/apache/catalina/Context;)V
         1: .line 68
            aload 0 /* context */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadApplicationFilterAnnotations:(Lorg/apache/catalina/Context;)V
         2: .line 69
            aload 0 /* context */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations:(Lorg/apache/catalina/Context;)V
         3: .line 70
            return
        end local 0 // org.apache.catalina.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lorg/apache/catalina/Context;
    MethodParameters:
         Name  Flags
      context  

  protected static void loadApplicationListenerAnnotations(org.apache.catalina.Context);
    descriptor: (Lorg/apache/catalina/Context;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.apache.catalina.Context context
         0: .line 81
            aload 0 /* context */
            invokeinterface org.apache.catalina.Context.findApplicationListeners:()[Ljava/lang/String;
            astore 1 /* applicationListeners */
        start local 1 // java.lang.String[] applicationListeners
         1: .line 82
            aload 1 /* applicationListeners */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 10
      StackMap locals: org.apache.catalina.Context java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* className */
        start local 2 // java.lang.String className
         3: .line 83
            aload 0 /* context */
            aload 2 /* className */
            invokestatic org.apache.catalina.util.Introspection.loadClass:(Lorg/apache/catalina/Context;Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* clazz */
        start local 6 // java.lang.Class clazz
         4: .line 84
            aload 6 /* clazz */
            ifnonnull 6
         5: .line 85
            goto 9
         6: .line 88
      StackMap locals: org.apache.catalina.Context java.lang.String[] java.lang.String int int java.lang.String[] java.lang.Class
      StackMap stack:
            aload 0 /* context */
            aload 6 /* clazz */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation:(Lorg/apache/catalina/Context;Ljava/lang/Class;)V
         7: .line 89
            aload 0 /* context */
            aload 6 /* clazz */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation:(Lorg/apache/catalina/Context;Ljava/lang/Class;)V
         8: .line 90
            aload 0 /* context */
            aload 6 /* clazz */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation:(Lorg/apache/catalina/Context;Ljava/lang/Class;)V
        end local 6 // java.lang.Class clazz
        end local 2 // java.lang.String className
         9: .line 82
      StackMap locals: org.apache.catalina.Context java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        10: iload 3
            iload 4
            if_icmplt 2
        11: .line 92
            return
        end local 1 // java.lang.String[] applicationListeners
        end local 0 // org.apache.catalina.Context context
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0               context  Lorg/apache/catalina/Context;
            1   12     1  applicationListeners  [Ljava/lang/String;
            3    9     2             className  Ljava/lang/String;
            4    9     6                 clazz  Ljava/lang/Class<*>;
    MethodParameters:
         Name  Flags
      context  

  protected static void loadApplicationFilterAnnotations(org.apache.catalina.Context);
    descriptor: (Lorg/apache/catalina/Context;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.apache.catalina.Context context
         0: .line 101
            aload 0 /* context */
            invokeinterface org.apache.catalina.Context.findFilterDefs:()[Lorg/apache/tomcat/util/descriptor/web/FilterDef;
            astore 1 /* filterDefs */
        start local 1 // org.apache.tomcat.util.descriptor.web.FilterDef[] filterDefs
         1: .line 102
            aload 1 /* filterDefs */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 10
      StackMap locals: org.apache.catalina.Context org.apache.tomcat.util.descriptor.web.FilterDef[] top int int org.apache.tomcat.util.descriptor.web.FilterDef[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* filterDef */
        start local 2 // org.apache.tomcat.util.descriptor.web.FilterDef filterDef
         3: .line 103
            aload 0 /* context */
            aload 2 /* filterDef */
            invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterClass:()Ljava/lang/String;
            invokestatic org.apache.catalina.util.Introspection.loadClass:(Lorg/apache/catalina/Context;Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* clazz */
        start local 6 // java.lang.Class clazz
         4: .line 104
            aload 6 /* clazz */
            ifnonnull 6
         5: .line 105
            goto 9
         6: .line 108
      StackMap locals: org.apache.catalina.Context org.apache.tomcat.util.descriptor.web.FilterDef[] org.apache.tomcat.util.descriptor.web.FilterDef int int org.apache.tomcat.util.descriptor.web.FilterDef[] java.lang.Class
      StackMap stack:
            aload 0 /* context */
            aload 6 /* clazz */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation:(Lorg/apache/catalina/Context;Ljava/lang/Class;)V
         7: .line 109
            aload 0 /* context */
            aload 6 /* clazz */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation:(Lorg/apache/catalina/Context;Ljava/lang/Class;)V
         8: .line 110
            aload 0 /* context */
            aload 6 /* clazz */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation:(Lorg/apache/catalina/Context;Ljava/lang/Class;)V
        end local 6 // java.lang.Class clazz
        end local 2 // org.apache.tomcat.util.descriptor.web.FilterDef filterDef
         9: .line 102
      StackMap locals: org.apache.catalina.Context org.apache.tomcat.util.descriptor.web.FilterDef[] top int int org.apache.tomcat.util.descriptor.web.FilterDef[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        10: iload 3
            iload 4
            if_icmplt 2
        11: .line 112
            return
        end local 1 // org.apache.tomcat.util.descriptor.web.FilterDef[] filterDefs
        end local 0 // org.apache.catalina.Context context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0     context  Lorg/apache/catalina/Context;
            1   12     1  filterDefs  [Lorg/apache/tomcat/util/descriptor/web/FilterDef;
            3    9     2   filterDef  Lorg/apache/tomcat/util/descriptor/web/FilterDef;
            4    9     6       clazz  Ljava/lang/Class<*>;
    MethodParameters:
         Name  Flags
      context  

  protected static void loadApplicationServletAnnotations(org.apache.catalina.Context);
    descriptor: (Lorg/apache/catalina/Context;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // org.apache.catalina.Context context
         0: .line 122
            aload 0 /* context */
            invokeinterface org.apache.catalina.Context.findChildren:()[Lorg/apache/catalina/Container;
            astore 1 /* children */
        start local 1 // org.apache.catalina.Container[] children
         1: .line 123
            aload 1 /* children */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 23
      StackMap locals: org.apache.catalina.Context org.apache.catalina.Container[] top int int org.apache.catalina.Container[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* child */
        start local 2 // org.apache.catalina.Container child
         3: .line 124
            aload 2 /* child */
            instanceof org.apache.catalina.Wrapper
            ifeq 22
         4: .line 126
            aload 2 /* child */
            checkcast org.apache.catalina.Wrapper
            astore 6 /* wrapper */
        start local 6 // org.apache.catalina.Wrapper wrapper
         5: .line 127
            aload 6 /* wrapper */
            invokeinterface org.apache.catalina.Wrapper.getServletClass:()Ljava/lang/String;
            ifnonnull 7
         6: .line 128
            goto 22
         7: .line 131
      StackMap locals: org.apache.catalina.Context org.apache.catalina.Container[] org.apache.catalina.Container int int org.apache.catalina.Container[] org.apache.catalina.Wrapper
      StackMap stack:
            aload 0 /* context */
            aload 6 /* wrapper */
            invokeinterface org.apache.catalina.Wrapper.getServletClass:()Ljava/lang/String;
            invokestatic org.apache.catalina.util.Introspection.loadClass:(Lorg/apache/catalina/Context;Ljava/lang/String;)Ljava/lang/Class;
            astore 7 /* clazz */
        start local 7 // java.lang.Class clazz
         8: .line 132
            aload 7 /* clazz */
            ifnonnull 10
         9: .line 133
            goto 22
        10: .line 136
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* context */
            aload 7 /* clazz */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation:(Lorg/apache/catalina/Context;Ljava/lang/Class;)V
        11: .line 137
            aload 0 /* context */
            aload 7 /* clazz */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation:(Lorg/apache/catalina/Context;Ljava/lang/Class;)V
        12: .line 138
            aload 0 /* context */
            aload 7 /* clazz */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation:(Lorg/apache/catalina/Context;Ljava/lang/Class;)V
        13: .line 144
            aload 7 /* clazz */
            ldc Ljakarta/annotation/security/RunAs;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast jakarta.annotation.security.RunAs
            astore 8 /* runAs */
        start local 8 // jakarta.annotation.security.RunAs runAs
        14: .line 145
            aload 8 /* runAs */
            ifnull 16
        15: .line 146
            aload 6 /* wrapper */
            aload 8 /* runAs */
            invokeinterface jakarta.annotation.security.RunAs.value:()Ljava/lang/String;
            invokeinterface org.apache.catalina.Wrapper.setRunAs:(Ljava/lang/String;)V
        16: .line 150
      StackMap locals: jakarta.annotation.security.RunAs
      StackMap stack:
            aload 7 /* clazz */
            ldc Ljakarta/servlet/annotation/ServletSecurity;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast jakarta.servlet.annotation.ServletSecurity
            astore 9 /* servletSecurity */
        start local 9 // jakarta.servlet.annotation.ServletSecurity servletSecurity
        17: .line 151
            aload 9 /* servletSecurity */
            ifnull 22
        18: .line 152
            aload 0 /* context */
        19: .line 153
            new org.apache.catalina.core.ApplicationServletRegistration
            dup
            aload 6 /* wrapper */
            aload 0 /* context */
            invokespecial org.apache.catalina.core.ApplicationServletRegistration.<init>:(Lorg/apache/catalina/Wrapper;Lorg/apache/catalina/Context;)V
        20: .line 154
            new jakarta.servlet.ServletSecurityElement
            dup
            aload 9 /* servletSecurity */
            invokespecial jakarta.servlet.ServletSecurityElement.<init>:(Ljakarta/servlet/annotation/ServletSecurity;)V
        21: .line 152
            invokeinterface org.apache.catalina.Context.addServletSecurity:(Ljakarta/servlet/ServletRegistration$Dynamic;Ljakarta/servlet/ServletSecurityElement;)Ljava/util/Set;
            pop
        end local 9 // jakarta.servlet.annotation.ServletSecurity servletSecurity
        end local 8 // jakarta.annotation.security.RunAs runAs
        end local 7 // java.lang.Class clazz
        end local 6 // org.apache.catalina.Wrapper wrapper
        end local 2 // org.apache.catalina.Container child
        22: .line 123
      StackMap locals: org.apache.catalina.Context org.apache.catalina.Container[] top int int org.apache.catalina.Container[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        23: iload 3
            iload 4
            if_icmplt 2
        24: .line 158
            return
        end local 1 // org.apache.catalina.Container[] children
        end local 0 // org.apache.catalina.Context context
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0          context  Lorg/apache/catalina/Context;
            1   25     1         children  [Lorg/apache/catalina/Container;
            3   22     2            child  Lorg/apache/catalina/Container;
            5   22     6          wrapper  Lorg/apache/catalina/Wrapper;
            8   22     7            clazz  Ljava/lang/Class<*>;
           14   22     8            runAs  Ljakarta/annotation/security/RunAs;
           17   22     9  servletSecurity  Ljakarta/servlet/annotation/ServletSecurity;
    MethodParameters:
         Name  Flags
      context  

  protected static void loadClassAnnotation(org.apache.catalina.Context, java.lang.Class<?>);
    descriptor: (Lorg/apache/catalina/Context;Ljava/lang/Class;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=9, args_size=2
        start local 0 // org.apache.catalina.Context context
        start local 1 // java.lang.Class clazz
         0: .line 172
            aload 1 /* clazz */
            ldc Ljakarta/annotation/Resource;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast jakarta.annotation.Resource
            astore 2 /* resourceAnnotation */
        start local 2 // jakarta.annotation.Resource resourceAnnotation
         1: .line 173
            aload 2 /* resourceAnnotation */
            ifnull 3
         2: .line 174
            aload 0 /* context */
            aload 2 /* resourceAnnotation */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.addResource:(Lorg/apache/catalina/Context;Ljakarta/annotation/Resource;)V
         3: .line 179
      StackMap locals: jakarta.annotation.Resource
      StackMap stack:
            aload 1 /* clazz */
            ldc Ljakarta/annotation/Resources;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast jakarta.annotation.Resources
            astore 3 /* resourcesAnnotation */
        start local 3 // jakarta.annotation.Resources resourcesAnnotation
         4: .line 180
            aload 3 /* resourcesAnnotation */
            ifnull 10
            aload 3 /* resourcesAnnotation */
            invokeinterface jakarta.annotation.Resources.value:()[Ljakarta/annotation/Resource;
            ifnull 10
         5: .line 181
            aload 3 /* resourcesAnnotation */
            invokeinterface jakarta.annotation.Resources.value:()[Ljakarta/annotation/Resource;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: org.apache.catalina.Context java.lang.Class jakarta.annotation.Resource jakarta.annotation.Resources top int int jakarta.annotation.Resource[]
      StackMap stack:
         6: aload 7
            iload 5
            aaload
            astore 4 /* resource */
        start local 4 // jakarta.annotation.Resource resource
         7: .line 182
            aload 0 /* context */
            aload 4 /* resource */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.addResource:(Lorg/apache/catalina/Context;Ljakarta/annotation/Resource;)V
        end local 4 // jakarta.annotation.Resource resource
         8: .line 181
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 6
        10: .line 258
      StackMap locals: org.apache.catalina.Context java.lang.Class jakarta.annotation.Resource jakarta.annotation.Resources
      StackMap stack:
            aload 1 /* clazz */
            ldc Ljakarta/annotation/security/DeclareRoles;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast jakarta.annotation.security.DeclareRoles
            astore 4 /* declareRolesAnnotation */
        start local 4 // jakarta.annotation.security.DeclareRoles declareRolesAnnotation
        11: .line 259
            aload 4 /* declareRolesAnnotation */
            ifnull 17
            aload 4 /* declareRolesAnnotation */
            invokeinterface jakarta.annotation.security.DeclareRoles.value:()[Ljava/lang/String;
            ifnull 17
        12: .line 260
            aload 4 /* declareRolesAnnotation */
            invokeinterface jakarta.annotation.security.DeclareRoles.value:()[Ljava/lang/String;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 16
      StackMap locals: org.apache.catalina.Context java.lang.Class jakarta.annotation.Resource jakarta.annotation.Resources jakarta.annotation.security.DeclareRoles top int int java.lang.String[]
      StackMap stack:
        13: aload 8
            iload 6
            aaload
            astore 5 /* role */
        start local 5 // java.lang.String role
        14: .line 261
            aload 0 /* context */
            aload 5 /* role */
            invokeinterface org.apache.catalina.Context.addSecurityRole:(Ljava/lang/String;)V
        end local 5 // java.lang.String role
        15: .line 260
            iinc 6 1
      StackMap locals:
      StackMap stack:
        16: iload 6
            iload 7
            if_icmplt 13
        17: .line 264
      StackMap locals: org.apache.catalina.Context java.lang.Class jakarta.annotation.Resource jakarta.annotation.Resources jakarta.annotation.security.DeclareRoles
      StackMap stack:
            return
        end local 4 // jakarta.annotation.security.DeclareRoles declareRolesAnnotation
        end local 3 // jakarta.annotation.Resources resourcesAnnotation
        end local 2 // jakarta.annotation.Resource resourceAnnotation
        end local 1 // java.lang.Class clazz
        end local 0 // org.apache.catalina.Context context
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   18     0                 context  Lorg/apache/catalina/Context;
            0   18     1                   clazz  Ljava/lang/Class<*>;
            1   18     2      resourceAnnotation  Ljakarta/annotation/Resource;
            4   18     3     resourcesAnnotation  Ljakarta/annotation/Resources;
            7    8     4                resource  Ljakarta/annotation/Resource;
           11   18     4  declareRolesAnnotation  Ljakarta/annotation/security/DeclareRoles;
           14   15     5                    role  Ljava/lang/String;
    Signature: (Lorg/apache/catalina/Context;Ljava/lang/Class<*>;)V
    MethodParameters:
         Name  Flags
      context  
      clazz    

  protected static void loadFieldsAnnotation(org.apache.catalina.Context, java.lang.Class<?>);
    descriptor: (Lorg/apache/catalina/Context;Ljava/lang/Class;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.apache.catalina.Context context
        start local 1 // java.lang.Class clazz
         0: .line 269
            aload 1 /* clazz */
            invokestatic org.apache.catalina.util.Introspection.getDeclaredFields:(Ljava/lang/Class;)[Ljava/lang/reflect/Field;
            astore 2 /* fields */
        start local 2 // java.lang.reflect.Field[] fields
         1: .line 270
            aload 2 /* fields */
            ifnull 11
            aload 2 /* fields */
            arraylength
            ifle 11
         2: .line 271
            aload 2 /* fields */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: org.apache.catalina.Context java.lang.Class java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* field */
        start local 3 // java.lang.reflect.Field field
         4: .line 272
            aload 3 /* field */
            ldc Ljakarta/annotation/Resource;
            invokevirtual java.lang.reflect.Field.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast jakarta.annotation.Resource
            astore 7 /* annotation */
        start local 7 // jakarta.annotation.Resource annotation
         5: .line 273
            aload 7 /* annotation */
            ifnull 9
         6: .line 274
            new java.lang.StringBuilder
            dup
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* defaultName */
        start local 8 // java.lang.String defaultName
         7: .line 275
            aload 3 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            astore 9 /* defaultType */
        start local 9 // java.lang.Class defaultType
         8: .line 276
            aload 0 /* context */
            aload 7 /* annotation */
            aload 8 /* defaultName */
            aload 9 /* defaultType */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.addResource:(Lorg/apache/catalina/Context;Ljakarta/annotation/Resource;Ljava/lang/String;Ljava/lang/Class;)V
        end local 9 // java.lang.Class defaultType
        end local 8 // java.lang.String defaultName
        end local 7 // jakarta.annotation.Resource annotation
        end local 3 // java.lang.reflect.Field field
         9: .line 271
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 3
        11: .line 280
      StackMap locals: org.apache.catalina.Context java.lang.Class java.lang.reflect.Field[]
      StackMap stack:
            return
        end local 2 // java.lang.reflect.Field[] fields
        end local 1 // java.lang.Class clazz
        end local 0 // org.apache.catalina.Context context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0      context  Lorg/apache/catalina/Context;
            0   12     1        clazz  Ljava/lang/Class<*>;
            1   12     2       fields  [Ljava/lang/reflect/Field;
            4    9     3        field  Ljava/lang/reflect/Field;
            5    9     7   annotation  Ljakarta/annotation/Resource;
            7    9     8  defaultName  Ljava/lang/String;
            8    9     9  defaultType  Ljava/lang/Class<*>;
    Signature: (Lorg/apache/catalina/Context;Ljava/lang/Class<*>;)V
    MethodParameters:
         Name  Flags
      context  
      clazz    

  protected static void loadMethodsAnnotation(org.apache.catalina.Context, java.lang.Class<?>);
    descriptor: (Lorg/apache/catalina/Context;Ljava/lang/Class;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.apache.catalina.Context context
        start local 1 // java.lang.Class clazz
         0: .line 285
            aload 1 /* clazz */
            invokestatic org.apache.catalina.util.Introspection.getDeclaredMethods:(Ljava/lang/Class;)[Ljava/lang/reflect/Method;
            astore 2 /* methods */
        start local 2 // java.lang.reflect.Method[] methods
         1: .line 286
            aload 2 /* methods */
            ifnull 17
            aload 2 /* methods */
            arraylength
            ifle 17
         2: .line 287
            aload 2 /* methods */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 16
      StackMap locals: org.apache.catalina.Context java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* method */
        start local 3 // java.lang.reflect.Method method
         4: .line 288
            aload 3 /* method */
            ldc Ljakarta/annotation/Resource;
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast jakarta.annotation.Resource
            astore 7 /* annotation */
        start local 7 // jakarta.annotation.Resource annotation
         5: .line 289
            aload 7 /* annotation */
            ifnull 15
         6: .line 290
            aload 3 /* method */
            invokestatic org.apache.catalina.util.Introspection.isValidSetter:(Ljava/lang/reflect/Method;)Z
            ifne 10
         7: .line 291
            new java.lang.IllegalArgumentException
            dup
            getstatic org.apache.catalina.startup.WebAnnotationSet.sm:Lorg/apache/tomcat/util/res/StringManager;
         8: .line 292
            ldc "webAnnotationSet.invalidInjection"
         9: .line 291
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 295
      StackMap locals: org.apache.catalina.Context java.lang.Class java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[] jakarta.annotation.Resource
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 296
            aload 3 /* method */
            invokestatic org.apache.catalina.util.Introspection.getPropertyName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 295
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* defaultName */
        start local 8 // java.lang.String defaultName
        13: .line 298
            aload 3 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            iconst_0
            aaload
            astore 9 /* defaultType */
        start local 9 // java.lang.Class defaultType
        14: .line 299
            aload 0 /* context */
            aload 7 /* annotation */
            aload 8 /* defaultName */
            aload 9 /* defaultType */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.addResource:(Lorg/apache/catalina/Context;Ljakarta/annotation/Resource;Ljava/lang/String;Ljava/lang/Class;)V
        end local 9 // java.lang.Class defaultType
        end local 8 // java.lang.String defaultName
        end local 7 // jakarta.annotation.Resource annotation
        end local 3 // java.lang.reflect.Method method
        15: .line 287
      StackMap locals: org.apache.catalina.Context java.lang.Class java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        16: iload 4
            iload 5
            if_icmplt 3
        17: .line 303
      StackMap locals: org.apache.catalina.Context java.lang.Class java.lang.reflect.Method[]
      StackMap stack:
            return
        end local 2 // java.lang.reflect.Method[] methods
        end local 1 // java.lang.Class clazz
        end local 0 // org.apache.catalina.Context context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0      context  Lorg/apache/catalina/Context;
            0   18     1        clazz  Ljava/lang/Class<*>;
            1   18     2      methods  [Ljava/lang/reflect/Method;
            4   15     3       method  Ljava/lang/reflect/Method;
            5   15     7   annotation  Ljakarta/annotation/Resource;
           13   15     8  defaultName  Ljava/lang/String;
           14   15     9  defaultType  Ljava/lang/Class<*>;
    Signature: (Lorg/apache/catalina/Context;Ljava/lang/Class<*>;)V
    MethodParameters:
         Name  Flags
      context  
      clazz    

  protected static void addResource(org.apache.catalina.Context, jakarta.annotation.Resource);
    descriptor: (Lorg/apache/catalina/Context;Ljakarta/annotation/Resource;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.catalina.Context context
        start local 1 // jakarta.annotation.Resource annotation
         0: .line 315
            aload 0 /* context */
            aload 1 /* annotation */
            aconst_null
            aconst_null
            invokestatic org.apache.catalina.startup.WebAnnotationSet.addResource:(Lorg/apache/catalina/Context;Ljakarta/annotation/Resource;Ljava/lang/String;Ljava/lang/Class;)V
         1: .line 316
            return
        end local 1 // jakarta.annotation.Resource annotation
        end local 0 // org.apache.catalina.Context context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     context  Lorg/apache/catalina/Context;
            0    2     1  annotation  Ljakarta/annotation/Resource;
    MethodParameters:
            Name  Flags
      context     
      annotation  

  protected static void addResource(org.apache.catalina.Context, jakarta.annotation.Resource, java.lang.String, java.lang.Class<?>);
    descriptor: (Lorg/apache/catalina/Context;Ljakarta/annotation/Resource;Ljava/lang/String;Ljava/lang/Class;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.apache.catalina.Context context
        start local 1 // jakarta.annotation.Resource annotation
        start local 2 // java.lang.String defaultName
        start local 3 // java.lang.Class defaultType
         0: .line 321
            aload 1 /* annotation */
            aload 2 /* defaultName */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.getName:(Ljakarta/annotation/Resource;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         1: .line 322
            aload 1 /* annotation */
            aload 3 /* defaultType */
            invokestatic org.apache.catalina.startup.WebAnnotationSet.getType:(Ljakarta/annotation/Resource;Ljava/lang/Class;)Ljava/lang/String;
            astore 5 /* type */
        start local 5 // java.lang.String type
         2: .line 324
            aload 5 /* type */
            ldc "java.lang.String"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         3: .line 325
            aload 5 /* type */
            ldc "java.lang.Character"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         4: .line 326
            aload 5 /* type */
            ldc "java.lang.Integer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         5: .line 327
            aload 5 /* type */
            ldc "java.lang.Boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         6: .line 328
            aload 5 /* type */
            ldc "java.lang.Double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         7: .line 329
            aload 5 /* type */
            ldc "java.lang.Byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         8: .line 330
            aload 5 /* type */
            ldc "java.lang.Short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         9: .line 331
            aload 5 /* type */
            ldc "java.lang.Long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 332
            aload 5 /* type */
            ldc "java.lang.Float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        11: .line 335
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            new org.apache.tomcat.util.descriptor.web.ContextEnvironment
            dup
            invokespecial org.apache.tomcat.util.descriptor.web.ContextEnvironment.<init>:()V
            astore 6 /* resource */
        start local 6 // org.apache.tomcat.util.descriptor.web.ContextEnvironment resource
        12: .line 337
            aload 6 /* resource */
            aload 4 /* name */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.setName:(Ljava/lang/String;)V
        13: .line 338
            aload 6 /* resource */
            aload 5 /* type */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.setType:(Ljava/lang/String;)V
        14: .line 339
            aload 6 /* resource */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.description:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.setDescription:(Ljava/lang/String;)V
        15: .line 340
            aload 6 /* resource */
            ldc "mappedName"
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.mappedName:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        16: .line 341
            aload 6 /* resource */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.lookup:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextEnvironment.setLookupName:(Ljava/lang/String;)V
        17: .line 343
            aload 0 /* context */
            invokeinterface org.apache.catalina.Context.getNamingResources:()Lorg/apache/catalina/deploy/NamingResourcesImpl;
            aload 6 /* resource */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.addEnvironment:(Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;)V
        end local 6 // org.apache.tomcat.util.descriptor.web.ContextEnvironment resource
        18: .line 345
            goto 70
      StackMap locals:
      StackMap stack:
        19: aload 5 /* type */
            ldc "javax.xml.rpc.Service"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        20: .line 348
            new org.apache.tomcat.util.descriptor.web.ContextService
            dup
            invokespecial org.apache.tomcat.util.descriptor.web.ContextService.<init>:()V
            astore 6 /* service */
        start local 6 // org.apache.tomcat.util.descriptor.web.ContextService service
        21: .line 350
            aload 6 /* service */
            aload 4 /* name */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.setName:(Ljava/lang/String;)V
        22: .line 351
            aload 6 /* service */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.mappedName:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.setWsdlfile:(Ljava/lang/String;)V
        23: .line 352
            aload 6 /* service */
            aload 5 /* type */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.setType:(Ljava/lang/String;)V
        24: .line 353
            aload 6 /* service */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.description:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.setDescription:(Ljava/lang/String;)V
        25: .line 354
            aload 6 /* service */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.lookup:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextService.setLookupName:(Ljava/lang/String;)V
        26: .line 356
            aload 0 /* context */
            invokeinterface org.apache.catalina.Context.getNamingResources:()Lorg/apache/catalina/deploy/NamingResourcesImpl;
            aload 6 /* service */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.addService:(Lorg/apache/tomcat/util/descriptor/web/ContextService;)V
        end local 6 // org.apache.tomcat.util.descriptor.web.ContextService service
        27: .line 358
            goto 70
      StackMap locals:
      StackMap stack:
        28: aload 5 /* type */
            ldc "javax.sql.DataSource"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 37
        29: .line 359
            aload 5 /* type */
            ldc "javax.jms.ConnectionFactory"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 37
        30: .line 360
            aload 5 /* type */
            ldc "javax.jms.QueueConnectionFactory"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 37
        31: .line 361
            aload 5 /* type */
            ldc "javax.jms.TopicConnectionFactory"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 37
        32: .line 362
            aload 5 /* type */
            ldc "jakarta.mail.Session"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 37
        33: .line 363
            aload 5 /* type */
            ldc "java.net.URL"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 37
        34: .line 364
            aload 5 /* type */
            ldc "javax.resource.cci.ConnectionFactory"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 37
        35: .line 365
            aload 5 /* type */
            ldc "org.omg.CORBA_2_3.ORB"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 37
        36: .line 366
            aload 5 /* type */
            ldc "ConnectionFactory"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 53
        37: .line 369
      StackMap locals:
      StackMap stack:
            new org.apache.tomcat.util.descriptor.web.ContextResource
            dup
            invokespecial org.apache.tomcat.util.descriptor.web.ContextResource.<init>:()V
            astore 6 /* resource */
        start local 6 // org.apache.tomcat.util.descriptor.web.ContextResource resource
        38: .line 371
            aload 6 /* resource */
            aload 4 /* name */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.setName:(Ljava/lang/String;)V
        39: .line 372
            aload 6 /* resource */
            aload 5 /* type */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.setType:(Ljava/lang/String;)V
        40: .line 374
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.authenticationType:()Ljakarta/annotation/Resource$AuthenticationType;
            getstatic jakarta.annotation.Resource$AuthenticationType.CONTAINER:Ljakarta/annotation/Resource$AuthenticationType;
            if_acmpne 43
        41: .line 375
            aload 6 /* resource */
            ldc "Container"
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.setAuth:(Ljava/lang/String;)V
        42: .line 376
            goto 45
      StackMap locals: org.apache.tomcat.util.descriptor.web.ContextResource
      StackMap stack:
        43: aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.authenticationType:()Ljakarta/annotation/Resource$AuthenticationType;
            getstatic jakarta.annotation.Resource$AuthenticationType.APPLICATION:Ljakarta/annotation/Resource$AuthenticationType;
            if_acmpne 45
        44: .line 377
            aload 6 /* resource */
            ldc "Application"
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.setAuth:(Ljava/lang/String;)V
        45: .line 380
      StackMap locals:
      StackMap stack:
            aload 6 /* resource */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.shareable:()Z
            ifeq 46
            ldc "Shareable"
            goto 47
      StackMap locals:
      StackMap stack: org.apache.tomcat.util.descriptor.web.ContextResource
        46: ldc "Unshareable"
      StackMap locals: org.apache.catalina.Context jakarta.annotation.Resource java.lang.String java.lang.Class java.lang.String java.lang.String org.apache.tomcat.util.descriptor.web.ContextResource
      StackMap stack: org.apache.tomcat.util.descriptor.web.ContextResource java.lang.String
        47: invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.setScope:(Ljava/lang/String;)V
        48: .line 381
            aload 6 /* resource */
            ldc "mappedName"
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.mappedName:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        49: .line 382
            aload 6 /* resource */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.description:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.setDescription:(Ljava/lang/String;)V
        50: .line 383
            aload 6 /* resource */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.lookup:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResource.setLookupName:(Ljava/lang/String;)V
        51: .line 385
            aload 0 /* context */
            invokeinterface org.apache.catalina.Context.getNamingResources:()Lorg/apache/catalina/deploy/NamingResourcesImpl;
            aload 6 /* resource */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.addResource:(Lorg/apache/tomcat/util/descriptor/web/ContextResource;)V
        end local 6 // org.apache.tomcat.util.descriptor.web.ContextResource resource
        52: .line 387
            goto 70
      StackMap locals:
      StackMap stack:
        53: aload 5 /* type */
            ldc "javax.jms.Queue"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 55
        54: .line 388
            aload 5 /* type */
            ldc "javax.jms.Topic"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 63
        55: .line 391
      StackMap locals:
      StackMap stack:
            new org.apache.tomcat.util.descriptor.web.MessageDestinationRef
            dup
            invokespecial org.apache.tomcat.util.descriptor.web.MessageDestinationRef.<init>:()V
            astore 6 /* resource */
        start local 6 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef resource
        56: .line 393
            aload 6 /* resource */
            aload 4 /* name */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.setName:(Ljava/lang/String;)V
        57: .line 394
            aload 6 /* resource */
            aload 5 /* type */
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.setType:(Ljava/lang/String;)V
        58: .line 395
            aload 6 /* resource */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.mappedName:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.setUsage:(Ljava/lang/String;)V
        59: .line 396
            aload 6 /* resource */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.description:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.setDescription:(Ljava/lang/String;)V
        60: .line 397
            aload 6 /* resource */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.lookup:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.MessageDestinationRef.setLookupName:(Ljava/lang/String;)V
        61: .line 399
            aload 0 /* context */
            invokeinterface org.apache.catalina.Context.getNamingResources:()Lorg/apache/catalina/deploy/NamingResourcesImpl;
            aload 6 /* resource */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.addMessageDestinationRef:(Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;)V
        end local 6 // org.apache.tomcat.util.descriptor.web.MessageDestinationRef resource
        62: .line 401
            goto 70
        63: .line 409
      StackMap locals:
      StackMap stack:
            new org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef
            dup
            invokespecial org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.<init>:()V
            astore 6 /* resource */
        start local 6 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef resource
        64: .line 411
            aload 6 /* resource */
            aload 4 /* name */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.setName:(Ljava/lang/String;)V
        65: .line 412
            aload 6 /* resource */
            aload 5 /* type */
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.setType:(Ljava/lang/String;)V
        66: .line 413
            aload 6 /* resource */
            ldc "mappedName"
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.mappedName:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        67: .line 414
            aload 6 /* resource */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.description:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.setDescription:(Ljava/lang/String;)V
        68: .line 415
            aload 6 /* resource */
            aload 1 /* annotation */
            invokeinterface jakarta.annotation.Resource.lookup:()Ljava/lang/String;
            invokevirtual org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef.setLookupName:(Ljava/lang/String;)V
        69: .line 417
            aload 0 /* context */
            invokeinterface org.apache.catalina.Context.getNamingResources:()Lorg/apache/catalina/deploy/NamingResourcesImpl;
            aload 6 /* resource */
            invokevirtual org.apache.catalina.deploy.NamingResourcesImpl.addResourceEnvRef:(Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;)V
        end local 6 // org.apache.tomcat.util.descriptor.web.ContextResourceEnvRef resource
        70: .line 419
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String type
        end local 4 // java.lang.String name
        end local 3 // java.lang.Class defaultType
        end local 2 // java.lang.String defaultName
        end local 1 // jakarta.annotation.Resource annotation
        end local 0 // org.apache.catalina.Context context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   71     0      context  Lorg/apache/catalina/Context;
            0   71     1   annotation  Ljakarta/annotation/Resource;
            0   71     2  defaultName  Ljava/lang/String;
            0   71     3  defaultType  Ljava/lang/Class<*>;
            1   71     4         name  Ljava/lang/String;
            2   71     5         type  Ljava/lang/String;
           12   18     6     resource  Lorg/apache/tomcat/util/descriptor/web/ContextEnvironment;
           21   27     6      service  Lorg/apache/tomcat/util/descriptor/web/ContextService;
           38   52     6     resource  Lorg/apache/tomcat/util/descriptor/web/ContextResource;
           56   62     6     resource  Lorg/apache/tomcat/util/descriptor/web/MessageDestinationRef;
           64   70     6     resource  Lorg/apache/tomcat/util/descriptor/web/ContextResourceEnvRef;
    Signature: (Lorg/apache/catalina/Context;Ljakarta/annotation/Resource;Ljava/lang/String;Ljava/lang/Class<*>;)V
    MethodParameters:
             Name  Flags
      context      
      annotation   
      defaultName  
      defaultType  

  private static java.lang.String getType(jakarta.annotation.Resource, java.lang.Class<?>);
    descriptor: (Ljakarta/annotation/Resource;Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jakarta.annotation.Resource annotation
        start local 1 // java.lang.Class defaultType
         0: .line 423
            aload 0 /* annotation */
            invokeinterface jakarta.annotation.Resource.type:()Ljava/lang/Class;
            astore 2 /* type */
        start local 2 // java.lang.Class type
         1: .line 424
            aload 2 /* type */
            ifnull 2
            aload 2 /* type */
            ldc Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 425
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* defaultType */
            ifnull 4
         3: .line 426
            aload 1 /* defaultType */
            astore 2 /* type */
         4: .line 429
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokestatic org.apache.catalina.util.Introspection.convertPrimitiveType:(Ljava/lang/Class;)Ljava/lang/Class;
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.Class type
        end local 1 // java.lang.Class defaultType
        end local 0 // jakarta.annotation.Resource annotation
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0   annotation  Ljakarta/annotation/Resource;
            0    5     1  defaultType  Ljava/lang/Class<*>;
            1    5     2         type  Ljava/lang/Class<*>;
    Signature: (Ljakarta/annotation/Resource;Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
             Name  Flags
      annotation   
      defaultType  

  private static java.lang.String getName(jakarta.annotation.Resource, java.lang.String);
    descriptor: (Ljakarta/annotation/Resource;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jakarta.annotation.Resource annotation
        start local 1 // java.lang.String defaultName
         0: .line 434
            aload 0 /* annotation */
            invokeinterface jakarta.annotation.Resource.name:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 435
            aload 2 /* name */
            ifnull 2
            aload 2 /* name */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 436
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* defaultName */
            ifnull 4
         3: .line 437
            aload 1 /* defaultName */
            astore 2 /* name */
         4: .line 440
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            areturn
        end local 2 // java.lang.String name
        end local 1 // java.lang.String defaultName
        end local 0 // jakarta.annotation.Resource annotation
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0   annotation  Ljakarta/annotation/Resource;
            0    5     1  defaultName  Ljava/lang/String;
            1    5     2         name  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      annotation   
      defaultName  
}
SourceFile: "WebAnnotationSet.java"
InnerClasses:
  public final AuthenticationType = jakarta.annotation.Resource$AuthenticationType of jakarta.annotation.Resource
  public abstract Dynamic = jakarta.servlet.ServletRegistration$Dynamic of jakarta.servlet.ServletRegistration