public class org.eclipse.jetty.util.IntrospectionUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jetty.util.IntrospectionUtil
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.util.IntrospectionUtil this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jetty.util.IntrospectionUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/util/IntrospectionUtil;

  public static boolean isJavaBeanCompliantSetter(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.reflect.Method method
         0: .line 36
            aload 0 /* method */
            ifnonnull 2
         1: .line 37
            iconst_0
            ireturn
         2: .line 39
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 4
         3: .line 40
            iconst_0
            ireturn
         4: .line 42
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            ldc "set"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 6
         5: .line 43
            iconst_0
            ireturn
         6: .line 45
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getParameterCount:()I
            iconst_1
            if_icmpeq 8
         7: .line 46
            iconst_0
            ireturn
         8: .line 48
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  method  Ljava/lang/reflect/Method;
    MethodParameters:
        Name  Flags
      method  

  public static java.lang.reflect.Method findMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[], boolean, boolean);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;ZZ)Ljava/lang/reflect/Method;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.String methodName
        start local 2 // java.lang.Class[] args
        start local 3 // boolean checkInheritance
        start local 4 // boolean strictArgs
         0: .line 54
            aload 0 /* clazz */
            ifnonnull 2
         1: .line 55
            new java.lang.NoSuchMethodException
            dup
            ldc "No class"
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 56
      StackMap locals:
      StackMap stack:
            aload 1 /* methodName */
            ifnull 3
            aload 1 /* methodName */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 57
      StackMap locals:
      StackMap stack:
            new java.lang.NoSuchMethodException
            dup
            ldc "No method name"
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 59
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* method */
        start local 5 // java.lang.reflect.Method method
         5: .line 60
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            astore 6 /* methods */
        start local 6 // java.lang.reflect.Method[] methods
         6: .line 61
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 13
         8: .line 63
      StackMap locals: java.lang.reflect.Method java.lang.reflect.Method[] int
      StackMap stack:
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 1 /* methodName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            aload 2 /* args */
            ifnonnull 9
            iconst_0
            anewarray java.lang.Class
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Class[]
         9: aload 2 /* args */
      StackMap locals: java.lang.Class java.lang.String java.lang.Class[] int int java.lang.reflect.Method java.lang.reflect.Method[] int
      StackMap stack: java.lang.Class[] java.lang.Class[]
        10: iload 4 /* strictArgs */
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.checkParams:([Ljava/lang/Class;[Ljava/lang/Class;Z)Z
            ifeq 12
        11: .line 65
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            astore 5 /* method */
        12: .line 61
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* i */
            aload 6 /* methods */
            arraylength
            if_icmpge 14
            aload 5 /* method */
            ifnull 8
        end local 7 // int i
        14: .line 68
      StackMap locals:
      StackMap stack:
            aload 5 /* method */
            ifnull 16
        15: .line 70
            aload 5 /* method */
            areturn
        16: .line 72
      StackMap locals:
      StackMap stack:
            iload 3 /* checkInheritance */
            ifeq 18
        17: .line 73
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            aload 1 /* methodName */
            aload 2 /* args */
            iload 4 /* strictArgs */
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.findInheritedMethod:(Ljava/lang/Package;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Z)Ljava/lang/reflect/Method;
            areturn
        18: .line 75
      StackMap locals:
      StackMap stack:
            new java.lang.NoSuchMethodException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No such method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* methodName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " on class "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.reflect.Method[] methods
        end local 5 // java.lang.reflect.Method method
        end local 4 // boolean strictArgs
        end local 3 // boolean checkInheritance
        end local 2 // java.lang.Class[] args
        end local 1 // java.lang.String methodName
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   19     0             clazz  Ljava/lang/Class<*>;
            0   19     1        methodName  Ljava/lang/String;
            0   19     2              args  [Ljava/lang/Class;
            0   19     3  checkInheritance  Z
            0   19     4        strictArgs  Z
            5   19     5            method  Ljava/lang/reflect/Method;
            6   19     6           methods  [Ljava/lang/reflect/Method;
            7   14     7                 i  I
    Exceptions:
      throws java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;ZZ)Ljava/lang/reflect/Method;
    MethodParameters:
                  Name  Flags
      clazz             
      methodName        
      args              
      checkInheritance  
      strictArgs        

  public static java.lang.reflect.Field findField(java.lang.Class<?>, java.lang.String, java.lang.Class<?>, boolean, boolean);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;ZZ)Ljava/lang/reflect/Field;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.String targetName
        start local 2 // java.lang.Class targetType
        start local 3 // boolean checkInheritance
        start local 4 // boolean strictType
         0: .line 81
            aload 0 /* clazz */
            ifnonnull 2
         1: .line 82
            new java.lang.NoSuchFieldException
            dup
            ldc "No class"
            invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 83
      StackMap locals:
      StackMap stack:
            aload 1 /* targetName */
            ifnonnull 4
         3: .line 84
            new java.lang.NoSuchFieldException
            dup
            ldc "No field name"
            invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            aload 1 /* targetName */
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 5 /* field */
        start local 5 // java.lang.reflect.Field field
         5: .line 89
            iload 4 /* strictType */
            ifeq 9
         6: .line 91
            aload 5 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            aload 2 /* targetType */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
         7: .line 92
            aload 5 /* field */
         8: areturn
         9: .line 96
      StackMap locals: java.lang.reflect.Field
      StackMap stack:
            aload 5 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            aload 2 /* targetType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 12
        10: .line 97
            aload 5 /* field */
        11: areturn
        12: .line 99
      StackMap locals:
      StackMap stack:
            iload 3 /* checkInheritance */
            ifeq 15
        13: .line 101
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            aload 1 /* targetName */
            aload 2 /* targetType */
            iload 4 /* strictType */
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.findInheritedField:(Ljava/lang/Package;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/reflect/Field;
        14: areturn
        15: .line 104
      StackMap locals:
      StackMap stack:
            new java.lang.NoSuchFieldException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No field with name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* targetName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in class "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " of type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* targetType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.reflect.Field field
        16: .line 106
      StackMap locals: java.lang.Class java.lang.String java.lang.Class int int
      StackMap stack: java.lang.NoSuchFieldException
            pop
        17: .line 108
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            aload 1 /* targetName */
            aload 2 /* targetType */
            iload 4 /* strictType */
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.findInheritedField:(Ljava/lang/Package;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/reflect/Field;
            areturn
        end local 4 // boolean strictType
        end local 3 // boolean checkInheritance
        end local 2 // java.lang.Class targetType
        end local 1 // java.lang.String targetName
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0             clazz  Ljava/lang/Class<*>;
            0   18     1        targetName  Ljava/lang/String;
            0   18     2        targetType  Ljava/lang/Class<*>;
            0   18     3  checkInheritance  Z
            0   18     4        strictType  Z
            5   16     5             field  Ljava/lang/reflect/Field;
      Exception table:
        from    to  target  type
           4     8      16  Class java.lang.NoSuchFieldException
           9    11      16  Class java.lang.NoSuchFieldException
          12    14      16  Class java.lang.NoSuchFieldException
          15    16      16  Class java.lang.NoSuchFieldException
    Exceptions:
      throws java.lang.NoSuchFieldException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;ZZ)Ljava/lang/reflect/Field;
    MethodParameters:
                  Name  Flags
      clazz             
      targetName        
      targetType        
      checkInheritance  
      strictType        

  public static boolean isInheritable(java.lang.Package, java.lang.reflect.Member);
    descriptor: (Ljava/lang/Package;Ljava/lang/reflect/Member;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Package pack
        start local 1 // java.lang.reflect.Member member
         0: .line 114
            aload 0 /* pack */
            ifnonnull 2
         1: .line 115
            iconst_0
            ireturn
         2: .line 116
      StackMap locals:
      StackMap stack:
            aload 1 /* member */
            ifnonnull 4
         3: .line 117
            iconst_0
            ireturn
         4: .line 119
      StackMap locals:
      StackMap stack:
            aload 1 /* member */
            invokeinterface java.lang.reflect.Member.getModifiers:()I
            istore 2 /* modifiers */
        start local 2 // int modifiers
         5: .line 120
            iload 2 /* modifiers */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 7
         6: .line 121
            iconst_1
            ireturn
         7: .line 122
      StackMap locals: int
      StackMap stack:
            iload 2 /* modifiers */
            invokestatic java.lang.reflect.Modifier.isProtected:(I)Z
            ifeq 9
         8: .line 123
            iconst_1
            ireturn
         9: .line 124
      StackMap locals:
      StackMap stack:
            iload 2 /* modifiers */
            invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
            ifne 11
            aload 0 /* pack */
            aload 1 /* member */
            invokeinterface java.lang.reflect.Member.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 125
            iconst_1
            ireturn
        11: .line 127
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int modifiers
        end local 1 // java.lang.reflect.Member member
        end local 0 // java.lang.Package pack
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       pack  Ljava/lang/Package;
            0   12     1     member  Ljava/lang/reflect/Member;
            5   12     2  modifiers  I
    MethodParameters:
        Name  Flags
      pack    
      member  

  public static boolean checkParams(java.lang.Class<?>[], java.lang.Class<?>[], );
    descriptor: ([Ljava/lang/Class;[Ljava/lang/Class;Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.Class[] formalParams
        start local 1 // java.lang.Class[] actualParams
        start local 2 // boolean strict
         0: .line 132
            aload 0 /* formalParams */
            ifnonnull 3
         1: .line 133
            aload 1 /* actualParams */
            ifnonnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 134
      StackMap locals:
      StackMap stack:
            aload 1 /* actualParams */
            ifnonnull 5
         4: .line 135
            iconst_0
            ireturn
         5: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* formalParams */
            arraylength
            aload 1 /* actualParams */
            arraylength
            if_icmpeq 7
         6: .line 138
            iconst_0
            ireturn
         7: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* formalParams */
            arraylength
            ifne 9
         8: .line 141
            iconst_1
            ireturn
         9: .line 143
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* j */
        start local 3 // int j
        10: .line 144
            iload 2 /* strict */
            ifeq 16
        11: .line 146
            goto 13
        12: .line 148
      StackMap locals: int
      StackMap stack:
            iinc 3 /* j */ 1
        13: .line 146
      StackMap locals:
      StackMap stack:
            iload 3 /* j */
            aload 0 /* formalParams */
            arraylength
            if_icmpge 17
            aload 0 /* formalParams */
            iload 3 /* j */
            aaload
            aload 1 /* actualParams */
            iload 3 /* j */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 12
        14: .line 150
            goto 17
        15: .line 155
      StackMap locals:
      StackMap stack:
            iinc 3 /* j */ 1
        16: .line 153
      StackMap locals:
      StackMap stack:
            iload 3 /* j */
            aload 0 /* formalParams */
            arraylength
            if_icmpge 17
            aload 0 /* formalParams */
            iload 3 /* j */
            aaload
            aload 1 /* actualParams */
            iload 3 /* j */
            aaload
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 15
        17: .line 159
      StackMap locals:
      StackMap stack:
            iload 3 /* j */
            aload 0 /* formalParams */
            arraylength
            if_icmpeq 19
        18: .line 161
            iconst_0
            ireturn
        19: .line 164
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int j
        end local 2 // boolean strict
        end local 1 // java.lang.Class[] actualParams
        end local 0 // java.lang.Class[] formalParams
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0  formalParams  [Ljava/lang/Class;
            0   20     1  actualParams  [Ljava/lang/Class;
            0   20     2        strict  Z
           10   20     3             j  I
    Signature: ([Ljava/lang/Class<*>;[Ljava/lang/Class<*>;Z)Z
    MethodParameters:
              Name  Flags
      formalParams  
      actualParams  
      strict        

  public static boolean isSameSignature(java.lang.reflect.Method, java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.reflect.Method methodA
        start local 1 // java.lang.reflect.Method methodB
         0: .line 169
            aload 0 /* methodA */
            ifnonnull 2
         1: .line 170
            iconst_0
            ireturn
         2: .line 171
      StackMap locals:
      StackMap stack:
            aload 1 /* methodB */
            ifnonnull 4
         3: .line 172
            iconst_0
            ireturn
         4: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* methodA */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* parameterTypesA */
        start local 2 // java.util.List parameterTypesA
         5: .line 175
            aload 1 /* methodB */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 3 /* parameterTypesB */
        start local 3 // java.util.List parameterTypesB
         6: .line 177
            aload 0 /* methodA */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 1 /* methodB */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 178
            aload 2 /* parameterTypesA */
            aload 3 /* parameterTypesB */
            invokeinterface java.util.List.containsAll:(Ljava/util/Collection;)Z
            ifeq 9
         8: .line 179
            iconst_1
            ireturn
         9: .line 181
      StackMap locals: java.util.List java.util.List
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.util.List parameterTypesB
        end local 2 // java.util.List parameterTypesA
        end local 1 // java.lang.reflect.Method methodB
        end local 0 // java.lang.reflect.Method methodA
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0          methodA  Ljava/lang/reflect/Method;
            0   10     1          methodB  Ljava/lang/reflect/Method;
            5   10     2  parameterTypesA  Ljava/util/List<Ljava/lang/Class<*>;>;
            6   10     3  parameterTypesB  Ljava/util/List<Ljava/lang/Class<*>;>;
    MethodParameters:
         Name  Flags
      methodA  
      methodB  

  public static boolean isTypeCompatible(java.lang.Class<?>, java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.Class formalType
        start local 1 // java.lang.Class actualType
        start local 2 // boolean strict
         0: .line 186
            aload 0 /* formalType */
            ifnonnull 3
         1: .line 187
            aload 1 /* actualType */
            ifnonnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 188
      StackMap locals:
      StackMap stack:
            aload 1 /* actualType */
            ifnonnull 5
         4: .line 189
            iconst_0
            ireturn
         5: .line 191
      StackMap locals:
      StackMap stack:
            iload 2 /* strict */
            ifeq 7
         6: .line 192
            aload 0 /* formalType */
            aload 1 /* actualType */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
         7: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* formalType */
            aload 1 /* actualType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ireturn
        end local 2 // boolean strict
        end local 1 // java.lang.Class actualType
        end local 0 // java.lang.Class formalType
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0  formalType  Ljava/lang/Class<*>;
            0    8     1  actualType  Ljava/lang/Class<*>;
            0    8     2      strict  Z
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Z)Z
    MethodParameters:
            Name  Flags
      formalType  
      actualType  
      strict      

  public static boolean containsSameMethodSignature(java.lang.reflect.Method, java.lang.Class<?>, );
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.lang.reflect.Method method
        start local 1 // java.lang.Class c
        start local 2 // boolean checkPackage
         0: .line 199
            iload 2 /* checkPackage */
            ifeq 3
         1: .line 201
            aload 1 /* c */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 202
            iconst_0
            ireturn
         3: .line 205
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* samesig */
        start local 3 // boolean samesig
         4: .line 206
            aload 1 /* c */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            astore 4 /* methods */
        start local 4 // java.lang.reflect.Method[] methods
         5: .line 207
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 10
         7: .line 209
      StackMap locals: int java.lang.reflect.Method[] int
      StackMap stack:
            aload 0 /* method */
            aload 4 /* methods */
            iload 5 /* i */
            aaload
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.isSameSignature:(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)Z
            ifeq 9
         8: .line 210
            iconst_1
            istore 3 /* samesig */
         9: .line 207
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            aload 4 /* methods */
            arraylength
            if_icmpge 11
            iload 3 /* samesig */
            ifeq 7
        end local 5 // int i
        11: .line 212
      StackMap locals:
      StackMap stack:
            iload 3 /* samesig */
            ireturn
        end local 4 // java.lang.reflect.Method[] methods
        end local 3 // boolean samesig
        end local 2 // boolean checkPackage
        end local 1 // java.lang.Class c
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0        method  Ljava/lang/reflect/Method;
            0   12     1             c  Ljava/lang/Class<*>;
            0   12     2  checkPackage  Z
            4   12     3       samesig  Z
            5   12     4       methods  [Ljava/lang/reflect/Method;
            6   11     5             i  I
    Signature: (Ljava/lang/reflect/Method;Ljava/lang/Class<*>;Z)Z
    MethodParameters:
              Name  Flags
      method        
      c             
      checkPackage  

  public static boolean containsSameFieldName(java.lang.reflect.Field, java.lang.Class<?>, );
    descriptor: (Ljava/lang/reflect/Field;Ljava/lang/Class;Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // java.lang.reflect.Field field
        start local 1 // java.lang.Class c
        start local 2 // boolean checkPackage
         0: .line 217
            iload 2 /* checkPackage */
            ifeq 3
         1: .line 219
            aload 1 /* c */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            aload 0 /* field */
            invokevirtual java.lang.reflect.Field.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 220
            iconst_0
            ireturn
         3: .line 223
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* sameName */
        start local 3 // boolean sameName
         4: .line 224
            aload 1 /* c */
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            astore 4 /* fields */
        start local 4 // java.lang.reflect.Field[] fields
         5: .line 225
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 10
         7: .line 227
      StackMap locals: int java.lang.reflect.Field[] int
      StackMap stack:
            aload 4 /* fields */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            aload 0 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 228
            iconst_1
            istore 3 /* sameName */
         9: .line 225
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            aload 4 /* fields */
            arraylength
            if_icmpge 11
            iload 3 /* sameName */
            ifeq 7
        end local 5 // int i
        11: .line 230
      StackMap locals:
      StackMap stack:
            iload 3 /* sameName */
            ireturn
        end local 4 // java.lang.reflect.Field[] fields
        end local 3 // boolean sameName
        end local 2 // boolean checkPackage
        end local 1 // java.lang.Class c
        end local 0 // java.lang.reflect.Field field
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0         field  Ljava/lang/reflect/Field;
            0   12     1             c  Ljava/lang/Class<*>;
            0   12     2  checkPackage  Z
            4   12     3      sameName  Z
            5   12     4        fields  [Ljava/lang/reflect/Field;
            6   11     5             i  I
    Signature: (Ljava/lang/reflect/Field;Ljava/lang/Class<*>;Z)Z
    MethodParameters:
              Name  Flags
      field         
      c             
      checkPackage  

  protected static java.lang.reflect.Method findInheritedMethod(java.lang.Package, java.lang.Class<?>, java.lang.String, java.lang.Class<?>[], boolean);
    descriptor: (Ljava/lang/Package;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Z)Ljava/lang/reflect/Method;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // java.lang.Package pack
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String methodName
        start local 3 // java.lang.Class[] args
        start local 4 // boolean strictArgs
         0: .line 236
            aload 1 /* clazz */
            ifnonnull 2
         1: .line 237
            new java.lang.NoSuchMethodException
            dup
            ldc "No class"
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 238
      StackMap locals:
      StackMap stack:
            aload 2 /* methodName */
            ifnonnull 4
         3: .line 239
            new java.lang.NoSuchMethodException
            dup
            ldc "No method name"
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 241
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* method */
        start local 5 // java.lang.reflect.Method method
         5: .line 242
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            astore 6 /* methods */
        start local 6 // java.lang.reflect.Method[] methods
         6: .line 243
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 13
         8: .line 245
      StackMap locals: java.lang.reflect.Method java.lang.reflect.Method[] int
      StackMap stack:
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 2 /* methodName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
         9: .line 246
            aload 0 /* pack */
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.isInheritable:(Ljava/lang/Package;Ljava/lang/reflect/Member;)Z
            ifeq 12
        10: .line 247
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            aload 3 /* args */
            iload 4 /* strictArgs */
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.checkParams:([Ljava/lang/Class;[Ljava/lang/Class;Z)Z
            ifeq 12
        11: .line 248
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            astore 5 /* method */
        12: .line 243
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* i */
            aload 6 /* methods */
            arraylength
            if_icmpge 14
            aload 5 /* method */
            ifnull 8
        end local 7 // int i
        14: .line 250
      StackMap locals:
      StackMap stack:
            aload 5 /* method */
            ifnull 16
        15: .line 252
            aload 5 /* method */
            areturn
        16: .line 255
      StackMap locals:
      StackMap stack:
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            aload 2 /* methodName */
            aload 3 /* args */
            iload 4 /* strictArgs */
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.findInheritedMethod:(Ljava/lang/Package;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Z)Ljava/lang/reflect/Method;
            areturn
        end local 6 // java.lang.reflect.Method[] methods
        end local 5 // java.lang.reflect.Method method
        end local 4 // boolean strictArgs
        end local 3 // java.lang.Class[] args
        end local 2 // java.lang.String methodName
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Package pack
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        pack  Ljava/lang/Package;
            0   17     1       clazz  Ljava/lang/Class<*>;
            0   17     2  methodName  Ljava/lang/String;
            0   17     3        args  [Ljava/lang/Class;
            0   17     4  strictArgs  Z
            5   17     5      method  Ljava/lang/reflect/Method;
            6   17     6     methods  [Ljava/lang/reflect/Method;
            7   14     7           i  I
    Exceptions:
      throws java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Package;Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;Z)Ljava/lang/reflect/Method;
    MethodParameters:
            Name  Flags
      pack        
      clazz       
      methodName  
      args        
      strictArgs  

  protected static java.lang.reflect.Field findInheritedField(java.lang.Package, java.lang.Class<?>, java.lang.String, java.lang.Class<?>, boolean);
    descriptor: (Ljava/lang/Package;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/reflect/Field;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.lang.Package pack
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String fieldName
        start local 3 // java.lang.Class fieldType
        start local 4 // boolean strictType
         0: .line 261
            aload 1 /* clazz */
            ifnonnull 2
         1: .line 262
            new java.lang.NoSuchFieldException
            dup
            ldc "No class"
            invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 263
      StackMap locals:
      StackMap stack:
            aload 2 /* fieldName */
            ifnonnull 4
         3: .line 264
            new java.lang.NoSuchFieldException
            dup
            ldc "No field name"
            invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 267
      StackMap locals:
      StackMap stack:
            aload 1 /* clazz */
            aload 2 /* fieldName */
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 5 /* field */
        start local 5 // java.lang.reflect.Field field
         5: .line 268
            aload 0 /* pack */
            aload 5 /* field */
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.isInheritable:(Ljava/lang/Package;Ljava/lang/reflect/Member;)Z
            ifeq 8
            aload 3 /* fieldType */
            aload 5 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            iload 4 /* strictType */
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.isTypeCompatible:(Ljava/lang/Class;Ljava/lang/Class;Z)Z
            ifeq 8
         6: .line 269
            aload 5 /* field */
         7: areturn
         8: .line 271
      StackMap locals: java.lang.reflect.Field
      StackMap stack:
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            aload 2 /* fieldName */
            aload 3 /* fieldType */
            iload 4 /* strictType */
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.findInheritedField:(Ljava/lang/Package;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/reflect/Field;
         9: areturn
        end local 5 // java.lang.reflect.Field field
        10: .line 273
      StackMap locals: java.lang.Package java.lang.Class java.lang.String java.lang.Class int
      StackMap stack: java.lang.NoSuchFieldException
            pop
        11: .line 275
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            aload 2 /* fieldName */
            aload 3 /* fieldType */
            iload 4 /* strictType */
            invokestatic org.eclipse.jetty.util.IntrospectionUtil.findInheritedField:(Ljava/lang/Package;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/reflect/Field;
            areturn
        end local 4 // boolean strictType
        end local 3 // java.lang.Class fieldType
        end local 2 // java.lang.String fieldName
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Package pack
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        pack  Ljava/lang/Package;
            0   12     1       clazz  Ljava/lang/Class<*>;
            0   12     2   fieldName  Ljava/lang/String;
            0   12     3   fieldType  Ljava/lang/Class<*>;
            0   12     4  strictType  Z
            5   10     5       field  Ljava/lang/reflect/Field;
      Exception table:
        from    to  target  type
           4     7      10  Class java.lang.NoSuchFieldException
           8     9      10  Class java.lang.NoSuchFieldException
    Exceptions:
      throws java.lang.NoSuchFieldException
    Signature: (Ljava/lang/Package;Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;Z)Ljava/lang/reflect/Field;
    MethodParameters:
            Name  Flags
      pack        
      clazz       
      fieldName   
      fieldType   
      strictType  
}
SourceFile: "IntrospectionUtil.java"