public class com.fasterxml.classmate.TypeResolver implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.fasterxml.classmate.TypeResolver
  super_class: java.lang.Object
{
  private static final com.fasterxml.classmate.ResolvedType[] NO_TYPES;
    descriptor: [Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.fasterxml.classmate.types.ResolvedObjectType sJavaLangObject;
    descriptor: Lcom/fasterxml/classmate/types/ResolvedObjectType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected static final java.util.HashMap<com.fasterxml.classmate.util.ClassKey, com.fasterxml.classmate.ResolvedType> _primitiveTypes;
    descriptor: Ljava/util/HashMap;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Lcom/fasterxml/classmate/util/ClassKey;Lcom/fasterxml/classmate/ResolvedType;>;

  protected final com.fasterxml.classmate.util.ResolvedTypeCache _resolvedTypes;
    descriptor: Lcom/fasterxml/classmate/util/ResolvedTypeCache;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 28
            iconst_0
            anewarray com.fasterxml.classmate.ResolvedType
            putstatic com.fasterxml.classmate.TypeResolver.NO_TYPES:[Lcom/fasterxml/classmate/ResolvedType;
         1: .line 42
            ldc Ljava/lang/Object;
            aconst_null
            aconst_null
            aconst_null
            invokestatic com.fasterxml.classmate.types.ResolvedObjectType.create:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;Lcom/fasterxml/classmate/ResolvedType;Ljava/util/List;)Lcom/fasterxml/classmate/types/ResolvedObjectType;
         2: .line 41
            putstatic com.fasterxml.classmate.TypeResolver.sJavaLangObject:Lcom/fasterxml/classmate/types/ResolvedObjectType;
         3: .line 51
            new java.util.HashMap
            dup
            bipush 16
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic com.fasterxml.classmate.TypeResolver._primitiveTypes:Ljava/util/HashMap;
         4: .line 52
            invokestatic com.fasterxml.classmate.types.ResolvedPrimitiveType.all:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 1
            goto 7
      StackMap locals: top java.util.Iterator
      StackMap stack:
         5: aload 1
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.fasterxml.classmate.types.ResolvedPrimitiveType
            astore 0 /* type */
        start local 0 // com.fasterxml.classmate.types.ResolvedPrimitiveType type
         6: .line 53
            getstatic com.fasterxml.classmate.TypeResolver._primitiveTypes:Ljava/util/HashMap;
            new com.fasterxml.classmate.util.ClassKey
            dup
            aload 0 /* type */
            invokevirtual com.fasterxml.classmate.types.ResolvedPrimitiveType.getErasedType:()Ljava/lang/Class;
            invokespecial com.fasterxml.classmate.util.ClassKey.<init>:(Ljava/lang/Class;)V
            aload 0 /* type */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 0 // com.fasterxml.classmate.types.ResolvedPrimitiveType type
         7: .line 52
      StackMap locals:
      StackMap stack:
            aload 1
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 56
            getstatic com.fasterxml.classmate.TypeResolver._primitiveTypes:Ljava/util/HashMap;
            new com.fasterxml.classmate.util.ClassKey
            dup
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokespecial com.fasterxml.classmate.util.ClassKey.<init>:(Ljava/lang/Class;)V
            invokestatic com.fasterxml.classmate.types.ResolvedPrimitiveType.voidType:()Lcom/fasterxml/classmate/types/ResolvedPrimitiveType;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 58
            getstatic com.fasterxml.classmate.TypeResolver._primitiveTypes:Ljava/util/HashMap;
            new com.fasterxml.classmate.util.ClassKey
            dup
            ldc Ljava/lang/Object;
            invokespecial com.fasterxml.classmate.util.ClassKey.<init>:(Ljava/lang/Class;)V
            getstatic com.fasterxml.classmate.TypeResolver.sJavaLangObject:Lcom/fasterxml/classmate/types/ResolvedObjectType;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 60
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            6    7     0  type  Lcom/fasterxml/classmate/types/ResolvedPrimitiveType;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.fasterxml.classmate.TypeResolver this
         0: .line 89
            aload 0 /* this */
            sipush 200
            invokestatic com.fasterxml.classmate.util.ResolvedTypeCache.lruCache:(I)Lcom/fasterxml/classmate/util/ResolvedTypeCache;
            invokespecial com.fasterxml.classmate.TypeResolver.<init>:(Lcom/fasterxml/classmate/util/ResolvedTypeCache;)V
         1: .line 90
            return
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/fasterxml/classmate/TypeResolver;

  public void <init>(com.fasterxml.classmate.util.ResolvedTypeCache);
    descriptor: (Lcom/fasterxml/classmate/util/ResolvedTypeCache;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.util.ResolvedTypeCache typeCache
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 101
            aload 0 /* this */
            aload 1 /* typeCache */
            putfield com.fasterxml.classmate.TypeResolver._resolvedTypes:Lcom/fasterxml/classmate/util/ResolvedTypeCache;
         2: .line 102
            return
        end local 1 // com.fasterxml.classmate.util.ResolvedTypeCache typeCache
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/fasterxml/classmate/TypeResolver;
            0    3     1  typeCache  Lcom/fasterxml/classmate/util/ResolvedTypeCache;
    MethodParameters:
           Name  Flags
      typeCache  

  public com.fasterxml.classmate.ResolvedType resolve(java.lang.reflect.Type, java.lang.reflect.Type[]);
    descriptor: (Ljava/lang/reflect/Type;[Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // java.lang.reflect.Type type
        start local 2 // java.lang.reflect.Type[] typeParameters
         0: .line 127
            aload 2 /* typeParameters */
            ifnull 1
            aload 2 /* typeParameters */
            arraylength
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* noParams */
        start local 3 // boolean noParams
         3: .line 131
            aload 1 /* type */
            instanceof java.lang.Class
            ifeq 9
         4: .line 132
            invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
            astore 4 /* bindings */
        start local 4 // com.fasterxml.classmate.TypeBindings bindings
         5: .line 133
            iload 3 /* noParams */
            ifeq 7
         6: .line 134
            aload 0 /* this */
            aconst_null
            aload 1 /* type */
            checkcast java.lang.Class
            aload 4 /* bindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
         7: .line 136
      StackMap locals: int com.fasterxml.classmate.TypeBindings
      StackMap stack:
            aload 1 /* type */
            checkcast java.lang.Class
            astore 5 /* rawBase */
        start local 5 // java.lang.Class rawBase
         8: .line 137
            goto 28
        end local 5 // java.lang.Class rawBase
        end local 4 // com.fasterxml.classmate.TypeBindings bindings
      StackMap locals:
      StackMap stack:
         9: aload 1 /* type */
            instanceof com.fasterxml.classmate.GenericType
            ifeq 16
        10: .line 138
            invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
            astore 4 /* bindings */
        start local 4 // com.fasterxml.classmate.TypeBindings bindings
        11: .line 139
            iload 3 /* noParams */
            ifeq 13
        12: .line 140
            aload 0 /* this */
            aconst_null
            aload 1 /* type */
            checkcast com.fasterxml.classmate.GenericType
            aload 4 /* bindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromGenericType:(Lcom/fasterxml/classmate/util/ClassStack;Lcom/fasterxml/classmate/GenericType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        13: .line 142
      StackMap locals: com.fasterxml.classmate.TypeBindings
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 1 /* type */
            aload 4 /* bindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            astore 6 /* rt */
        start local 6 // com.fasterxml.classmate.ResolvedType rt
        14: .line 143
            aload 6 /* rt */
            invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
            astore 5 /* rawBase */
        end local 6 // com.fasterxml.classmate.ResolvedType rt
        start local 5 // java.lang.Class rawBase
        15: .line 144
            goto 28
        end local 5 // java.lang.Class rawBase
        end local 4 // com.fasterxml.classmate.TypeBindings bindings
      StackMap locals:
      StackMap stack:
        16: aload 1 /* type */
            instanceof com.fasterxml.classmate.ResolvedType
            ifeq 23
        17: .line 145
            aload 1 /* type */
            checkcast com.fasterxml.classmate.ResolvedType
            astore 6 /* rt */
        start local 6 // com.fasterxml.classmate.ResolvedType rt
        18: .line 146
            iload 3 /* noParams */
            ifeq 20
        19: .line 147
            aload 6 /* rt */
            areturn
        20: .line 149
      StackMap locals: com.fasterxml.classmate.TypeResolver java.lang.reflect.Type java.lang.reflect.Type[] int top top com.fasterxml.classmate.ResolvedType
      StackMap stack:
            aload 6 /* rt */
            invokevirtual com.fasterxml.classmate.ResolvedType.getTypeBindings:()Lcom/fasterxml/classmate/TypeBindings;
            astore 4 /* bindings */
        start local 4 // com.fasterxml.classmate.TypeBindings bindings
        21: .line 150
            aload 6 /* rt */
            invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
            astore 5 /* rawBase */
        end local 6 // com.fasterxml.classmate.ResolvedType rt
        start local 5 // java.lang.Class rawBase
        22: .line 151
            goto 28
        end local 5 // java.lang.Class rawBase
        end local 4 // com.fasterxml.classmate.TypeBindings bindings
        23: .line 152
      StackMap locals: com.fasterxml.classmate.TypeResolver java.lang.reflect.Type java.lang.reflect.Type[] int
      StackMap stack:
            invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
            astore 4 /* bindings */
        start local 4 // com.fasterxml.classmate.TypeBindings bindings
        24: .line 153
            iload 3 /* noParams */
            ifeq 26
        25: .line 154
            aload 0 /* this */
            aload 4 /* bindings */
            aload 1 /* type */
            invokevirtual com.fasterxml.classmate.TypeResolver.resolve:(Lcom/fasterxml/classmate/TypeBindings;Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        26: .line 157
      StackMap locals: com.fasterxml.classmate.TypeBindings
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 1 /* type */
            aload 4 /* bindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            astore 6 /* rt */
        start local 6 // com.fasterxml.classmate.ResolvedType rt
        27: .line 158
            aload 6 /* rt */
            invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
            astore 5 /* rawBase */
        end local 6 // com.fasterxml.classmate.ResolvedType rt
        start local 5 // java.lang.Class rawBase
        28: .line 162
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* typeParameters */
            arraylength
            istore 6 /* len */
        start local 6 // int len
        29: .line 163
            iload 6 /* len */
            anewarray com.fasterxml.classmate.ResolvedType
            astore 7 /* resolvedParams */
        start local 7 // com.fasterxml.classmate.ResolvedType[] resolvedParams
        30: .line 164
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        31: goto 34
        32: .line 165
      StackMap locals: int com.fasterxml.classmate.ResolvedType[] int
      StackMap stack:
            aload 7 /* resolvedParams */
            iload 8 /* i */
            aload 0 /* this */
            aconst_null
            aload 2 /* typeParameters */
            iload 8 /* i */
            aaload
            aload 4 /* bindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            aastore
        33: .line 164
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 8 /* i */
            iload 6 /* len */
            if_icmplt 32
        end local 8 // int i
        35: .line 167
            aload 0 /* this */
            aconst_null
            aload 5 /* rawBase */
            aload 5 /* rawBase */
            aload 7 /* resolvedParams */
            invokestatic com.fasterxml.classmate.TypeBindings.create:(Ljava/lang/Class;[Lcom/fasterxml/classmate/ResolvedType;)Lcom/fasterxml/classmate/TypeBindings;
            invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        end local 7 // com.fasterxml.classmate.ResolvedType[] resolvedParams
        end local 6 // int len
        end local 5 // java.lang.Class rawBase
        end local 4 // com.fasterxml.classmate.TypeBindings bindings
        end local 3 // boolean noParams
        end local 2 // java.lang.reflect.Type[] typeParameters
        end local 1 // java.lang.reflect.Type type
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   36     0            this  Lcom/fasterxml/classmate/TypeResolver;
            0   36     1            type  Ljava/lang/reflect/Type;
            0   36     2  typeParameters  [Ljava/lang/reflect/Type;
            3   36     3        noParams  Z
            5    9     4        bindings  Lcom/fasterxml/classmate/TypeBindings;
           11   16     4        bindings  Lcom/fasterxml/classmate/TypeBindings;
           21   23     4        bindings  Lcom/fasterxml/classmate/TypeBindings;
           24   36     4        bindings  Lcom/fasterxml/classmate/TypeBindings;
            8    9     5         rawBase  Ljava/lang/Class<*>;
           15   16     5         rawBase  Ljava/lang/Class<*>;
           22   23     5         rawBase  Ljava/lang/Class<*>;
           28   36     5         rawBase  Ljava/lang/Class<*>;
           14   15     6              rt  Lcom/fasterxml/classmate/ResolvedType;
           18   22     6              rt  Lcom/fasterxml/classmate/ResolvedType;
           27   28     6              rt  Lcom/fasterxml/classmate/ResolvedType;
           29   36     6             len  I
           30   36     7  resolvedParams  [Lcom/fasterxml/classmate/ResolvedType;
           31   35     8               i  I
    MethodParameters:
                Name  Flags
      type            
      typeParameters  

  public com.fasterxml.classmate.types.ResolvedArrayType arrayType(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/types/ResolvedArrayType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // java.lang.reflect.Type elementType
         0: .line 175
            aload 0 /* this */
            invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
            aload 1 /* elementType */
            invokevirtual com.fasterxml.classmate.TypeResolver.resolve:(Lcom/fasterxml/classmate/TypeBindings;Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/ResolvedType;
            astore 2 /* resolvedElementType */
        start local 2 // com.fasterxml.classmate.ResolvedType resolvedElementType
         1: .line 177
            aload 2 /* resolvedElementType */
            invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 3 /* emptyArray */
        start local 3 // java.lang.Object emptyArray
         2: .line 179
            new com.fasterxml.classmate.types.ResolvedArrayType
            dup
            aload 3 /* emptyArray */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
         3: .line 180
            aload 2 /* resolvedElementType */
         4: .line 179
            invokespecial com.fasterxml.classmate.types.ResolvedArrayType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;Lcom/fasterxml/classmate/ResolvedType;)V
            areturn
        end local 3 // java.lang.Object emptyArray
        end local 2 // com.fasterxml.classmate.ResolvedType resolvedElementType
        end local 1 // java.lang.reflect.Type elementType
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lcom/fasterxml/classmate/TypeResolver;
            0    5     1          elementType  Ljava/lang/reflect/Type;
            1    5     2  resolvedElementType  Lcom/fasterxml/classmate/ResolvedType;
            2    5     3           emptyArray  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      elementType  

  public com.fasterxml.classmate.ResolvedType resolve(com.fasterxml.classmate.TypeBindings, java.lang.reflect.Type);
    descriptor: (Lcom/fasterxml/classmate/TypeBindings;Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.TypeBindings typeBindings
        start local 2 // java.lang.reflect.Type jdkType
         0: .line 196
            aload 0 /* this */
            aconst_null
            aload 2 /* jdkType */
            aload 1 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        end local 2 // java.lang.reflect.Type jdkType
        end local 1 // com.fasterxml.classmate.TypeBindings typeBindings
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/fasterxml/classmate/TypeResolver;
            0    1     1  typeBindings  Lcom/fasterxml/classmate/TypeBindings;
            0    1     2       jdkType  Ljava/lang/reflect/Type;
    MethodParameters:
              Name  Flags
      typeBindings  
      jdkType       

  public com.fasterxml.classmate.ResolvedType resolveSubtype(com.fasterxml.classmate.ResolvedType, java.lang.Class<?>);
    descriptor: (Lcom/fasterxml/classmate/ResolvedType;Ljava/lang/Class;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=13, args_size=3
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.ResolvedType supertype
        start local 2 // java.lang.Class subtype
         0: .line 236
            aload 1 /* supertype */
            invokevirtual com.fasterxml.classmate.ResolvedType.getSelfReferencedType:()Lcom/fasterxml/classmate/ResolvedType;
            astore 3 /* refType */
        start local 3 // com.fasterxml.classmate.ResolvedType refType
         1: .line 237
            aload 3 /* refType */
            ifnull 3
         2: .line 238
            aload 3 /* refType */
            astore 1 /* supertype */
         3: .line 241
      StackMap locals: com.fasterxml.classmate.ResolvedType
      StackMap stack:
            aload 1 /* supertype */
            invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
            astore 4 /* superclass */
        start local 4 // java.lang.Class superclass
         4: .line 242
            aload 4 /* superclass */
            aload 2 /* subtype */
            if_acmpne 6
         5: .line 243
            aload 1 /* supertype */
            areturn
         6: .line 246
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* supertype */
            invokevirtual com.fasterxml.classmate.ResolvedType.canCreateSubtypes:()Z
            ifne 8
         7: .line 247
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can not subtype primitive or array types (type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* supertype */
            invokevirtual com.fasterxml.classmate.ResolvedType.getFullDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 250
      StackMap locals:
      StackMap stack:
            aload 4 /* superclass */
            aload 2 /* subtype */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 12
         9: .line 251
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can not sub-class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* supertype */
            invokevirtual com.fasterxml.classmate.ResolvedType.getBriefDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 252
            ldc " into "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* subtype */
            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;
        11: .line 251
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 256
      StackMap locals:
      StackMap stack:
            aload 2 /* subtype */
            invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            arraylength
            istore 6 /* paramCount */
        start local 6 // int paramCount
        13: .line 260
            iload 6 /* paramCount */
            ifne 17
        14: .line 261
            aconst_null
            astore 7 /* placeholders */
        start local 7 // com.fasterxml.classmate.types.TypePlaceHolder[] placeholders
        15: .line 265
            invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
            astore 8 /* tbForPlaceholders */
        start local 8 // com.fasterxml.classmate.TypeBindings tbForPlaceholders
        16: .line 266
            goto 25
        end local 8 // com.fasterxml.classmate.TypeBindings tbForPlaceholders
        end local 7 // com.fasterxml.classmate.types.TypePlaceHolder[] placeholders
        17: .line 267
      StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType java.lang.Class com.fasterxml.classmate.ResolvedType java.lang.Class top int
      StackMap stack:
            iload 6 /* paramCount */
            anewarray com.fasterxml.classmate.types.TypePlaceHolder
            astore 7 /* placeholders */
        start local 7 // com.fasterxml.classmate.types.TypePlaceHolder[] placeholders
        18: .line 268
            iload 6 /* paramCount */
            anewarray com.fasterxml.classmate.ResolvedType
            astore 9 /* resolvedParams */
        start local 9 // com.fasterxml.classmate.ResolvedType[] resolvedParams
        19: .line 269
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        20: goto 23
        21: .line 270
      StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType java.lang.Class com.fasterxml.classmate.ResolvedType java.lang.Class top int com.fasterxml.classmate.types.TypePlaceHolder[] top com.fasterxml.classmate.ResolvedType[] int
      StackMap stack:
            aload 9 /* resolvedParams */
            iload 10 /* i */
            aload 7 /* placeholders */
            iload 10 /* i */
            new com.fasterxml.classmate.types.TypePlaceHolder
            dup
            iload 10 /* i */
            invokespecial com.fasterxml.classmate.types.TypePlaceHolder.<init>:(I)V
            dup_x2
            aastore
            aastore
        22: .line 269
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 10 /* i */
            iload 6 /* paramCount */
            if_icmplt 21
        end local 10 // int i
        24: .line 272
            aload 2 /* subtype */
            aload 9 /* resolvedParams */
            invokestatic com.fasterxml.classmate.TypeBindings.create:(Ljava/lang/Class;[Lcom/fasterxml/classmate/ResolvedType;)Lcom/fasterxml/classmate/TypeBindings;
            astore 8 /* tbForPlaceholders */
        end local 9 // com.fasterxml.classmate.ResolvedType[] resolvedParams
        start local 8 // com.fasterxml.classmate.TypeBindings tbForPlaceholders
        25: .line 274
      StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType java.lang.Class com.fasterxml.classmate.ResolvedType java.lang.Class top int com.fasterxml.classmate.types.TypePlaceHolder[] com.fasterxml.classmate.TypeBindings
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 2 /* subtype */
            aload 8 /* tbForPlaceholders */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            astore 5 /* resolvedSubtype */
        start local 5 // com.fasterxml.classmate.ResolvedType resolvedSubtype
        26: .line 275
            aload 5 /* resolvedSubtype */
            aload 4 /* superclass */
            invokevirtual com.fasterxml.classmate.ResolvedType.findSupertype:(Ljava/lang/Class;)Lcom/fasterxml/classmate/ResolvedType;
            astore 9 /* resolvedSupertype */
        start local 9 // com.fasterxml.classmate.ResolvedType resolvedSupertype
        27: .line 276
            aload 9 /* resolvedSupertype */
            ifnonnull 29
        28: .line 277
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Internal error: unable to locate supertype ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* subtype */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") for type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* supertype */
            invokevirtual com.fasterxml.classmate.ResolvedType.getBriefDescription:()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.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 281
      StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType java.lang.Class com.fasterxml.classmate.ResolvedType java.lang.Class com.fasterxml.classmate.ResolvedType int com.fasterxml.classmate.types.TypePlaceHolder[] com.fasterxml.classmate.TypeBindings com.fasterxml.classmate.ResolvedType
      StackMap stack:
            aload 0 /* this */
            aload 1 /* supertype */
            aload 9 /* resolvedSupertype */
            invokevirtual com.fasterxml.classmate.TypeResolver._resolveTypePlaceholders:(Lcom/fasterxml/classmate/ResolvedType;Lcom/fasterxml/classmate/ResolvedType;)V
        30: .line 283
            iload 6 /* paramCount */
            ifne 32
        31: .line 284
            aload 5 /* resolvedSubtype */
            areturn
        32: .line 287
      StackMap locals:
      StackMap stack:
            iload 6 /* paramCount */
            anewarray com.fasterxml.classmate.ResolvedType
            astore 10 /* typeParams */
        start local 10 // com.fasterxml.classmate.ResolvedType[] typeParams
        33: .line 288
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        34: goto 42
        35: .line 289
      StackMap locals: com.fasterxml.classmate.ResolvedType[] int
      StackMap stack:
            aload 7 /* placeholders */
            iload 11 /* i */
            aaload
            invokevirtual com.fasterxml.classmate.types.TypePlaceHolder.actualType:()Lcom/fasterxml/classmate/ResolvedType;
            astore 12 /* t */
        start local 12 // com.fasterxml.classmate.ResolvedType t
        36: .line 294
            aload 12 /* t */
            ifnonnull 40
        37: .line 295
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to find type parameter #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 296
            iload 6 /* paramCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* subtype */
            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;
        39: .line 295
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 298
      StackMap locals: com.fasterxml.classmate.ResolvedType
      StackMap stack:
            aload 10 /* typeParams */
            iload 11 /* i */
            aload 12 /* t */
            aastore
        end local 12 // com.fasterxml.classmate.ResolvedType t
        41: .line 288
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 11 /* i */
            iload 6 /* paramCount */
            if_icmplt 35
        end local 11 // int i
        43: .line 300
            aload 0 /* this */
            aload 2 /* subtype */
            aload 10 /* typeParams */
            invokevirtual com.fasterxml.classmate.TypeResolver.resolve:(Ljava/lang/reflect/Type;[Ljava/lang/reflect/Type;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        end local 10 // com.fasterxml.classmate.ResolvedType[] typeParams
        end local 9 // com.fasterxml.classmate.ResolvedType resolvedSupertype
        end local 8 // com.fasterxml.classmate.TypeBindings tbForPlaceholders
        end local 7 // com.fasterxml.classmate.types.TypePlaceHolder[] placeholders
        end local 6 // int paramCount
        end local 5 // com.fasterxml.classmate.ResolvedType resolvedSubtype
        end local 4 // java.lang.Class superclass
        end local 3 // com.fasterxml.classmate.ResolvedType refType
        end local 2 // java.lang.Class subtype
        end local 1 // com.fasterxml.classmate.ResolvedType supertype
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   44     0               this  Lcom/fasterxml/classmate/TypeResolver;
            0   44     1          supertype  Lcom/fasterxml/classmate/ResolvedType;
            0   44     2            subtype  Ljava/lang/Class<*>;
            1   44     3            refType  Lcom/fasterxml/classmate/ResolvedType;
            4   44     4         superclass  Ljava/lang/Class<*>;
           26   44     5    resolvedSubtype  Lcom/fasterxml/classmate/ResolvedType;
           13   44     6         paramCount  I
           15   17     7       placeholders  [Lcom/fasterxml/classmate/types/TypePlaceHolder;
           18   44     7       placeholders  [Lcom/fasterxml/classmate/types/TypePlaceHolder;
           16   17     8  tbForPlaceholders  Lcom/fasterxml/classmate/TypeBindings;
           25   44     8  tbForPlaceholders  Lcom/fasterxml/classmate/TypeBindings;
           19   25     9     resolvedParams  [Lcom/fasterxml/classmate/ResolvedType;
           20   24    10                  i  I
           27   44     9  resolvedSupertype  Lcom/fasterxml/classmate/ResolvedType;
           33   44    10         typeParams  [Lcom/fasterxml/classmate/ResolvedType;
           34   43    11                  i  I
           36   41    12                  t  Lcom/fasterxml/classmate/ResolvedType;
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.UnsupportedOperationException
    Signature: (Lcom/fasterxml/classmate/ResolvedType;Ljava/lang/Class<*>;)Lcom/fasterxml/classmate/ResolvedType;
    MethodParameters:
           Name  Flags
      supertype  
      subtype    final

  public static boolean isSelfReference(com.fasterxml.classmate.ResolvedType);
    descriptor: (Lcom/fasterxml/classmate/ResolvedType;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.fasterxml.classmate.ResolvedType type
         0: .line 319
            aload 0 /* type */
            instanceof com.fasterxml.classmate.types.ResolvedRecursiveType
            ireturn
        end local 0 // com.fasterxml.classmate.ResolvedType type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  Lcom/fasterxml/classmate/ResolvedType;
    MethodParameters:
      Name  Flags
      type  

  private com.fasterxml.classmate.ResolvedType _fromAny(com.fasterxml.classmate.util.ClassStack, java.lang.reflect.Type, com.fasterxml.classmate.TypeBindings);
    descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.util.ClassStack context
        start local 2 // java.lang.reflect.Type mainType
        start local 3 // com.fasterxml.classmate.TypeBindings typeBindings
         0: .line 330
            aload 2 /* mainType */
            instanceof java.lang.Class
            ifeq 2
         1: .line 331
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* mainType */
            checkcast java.lang.Class
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
         2: .line 333
      StackMap locals:
      StackMap stack:
            aload 2 /* mainType */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 4
         3: .line 334
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* mainType */
            checkcast java.lang.reflect.ParameterizedType
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromParamType:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/ParameterizedType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
         4: .line 336
      StackMap locals:
      StackMap stack:
            aload 2 /* mainType */
            instanceof com.fasterxml.classmate.ResolvedType
            ifeq 6
         5: .line 337
            aload 2 /* mainType */
            checkcast com.fasterxml.classmate.ResolvedType
            areturn
         6: .line 339
      StackMap locals:
      StackMap stack:
            aload 2 /* mainType */
            instanceof com.fasterxml.classmate.GenericType
            ifeq 8
         7: .line 340
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* mainType */
            checkcast com.fasterxml.classmate.GenericType
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromGenericType:(Lcom/fasterxml/classmate/util/ClassStack;Lcom/fasterxml/classmate/GenericType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
         8: .line 342
      StackMap locals:
      StackMap stack:
            aload 2 /* mainType */
            instanceof java.lang.reflect.GenericArrayType
            ifeq 10
         9: .line 343
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* mainType */
            checkcast java.lang.reflect.GenericArrayType
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromArrayType:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/GenericArrayType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        10: .line 345
      StackMap locals:
      StackMap stack:
            aload 2 /* mainType */
            instanceof java.lang.reflect.TypeVariable
            ifeq 12
        11: .line 346
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* mainType */
            checkcast java.lang.reflect.TypeVariable
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromVariable:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/TypeVariable;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        12: .line 348
      StackMap locals:
      StackMap stack:
            aload 2 /* mainType */
            instanceof java.lang.reflect.WildcardType
            ifeq 14
        13: .line 349
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* mainType */
            checkcast java.lang.reflect.WildcardType
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromWildcard:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/WildcardType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        14: .line 352
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized type class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* mainType */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // com.fasterxml.classmate.TypeBindings typeBindings
        end local 2 // java.lang.reflect.Type mainType
        end local 1 // com.fasterxml.classmate.util.ClassStack context
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lcom/fasterxml/classmate/TypeResolver;
            0   15     1       context  Lcom/fasterxml/classmate/util/ClassStack;
            0   15     2      mainType  Ljava/lang/reflect/Type;
            0   15     3  typeBindings  Lcom/fasterxml/classmate/TypeBindings;
    MethodParameters:
              Name  Flags
      context       
      mainType      
      typeBindings  

  private com.fasterxml.classmate.ResolvedType _fromClass(com.fasterxml.classmate.util.ClassStack, java.lang.Class<?>, com.fasterxml.classmate.TypeBindings);
    descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.util.ClassStack context
        start local 2 // java.lang.Class rawType
        start local 3 // com.fasterxml.classmate.TypeBindings typeBindings
         0: .line 358
            getstatic com.fasterxml.classmate.TypeResolver._primitiveTypes:Ljava/util/HashMap;
            new com.fasterxml.classmate.util.ClassKey
            dup
            aload 2 /* rawType */
            invokespecial com.fasterxml.classmate.util.ClassKey.<init>:(Ljava/lang/Class;)V
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.fasterxml.classmate.ResolvedType
            astore 4 /* type */
        start local 4 // com.fasterxml.classmate.ResolvedType type
         1: .line 359
            aload 4 /* type */
            ifnull 3
         2: .line 360
            aload 4 /* type */
            areturn
         3: .line 363
      StackMap locals: com.fasterxml.classmate.ResolvedType
      StackMap stack:
            aload 1 /* context */
            ifnonnull 6
         4: .line 364
            new com.fasterxml.classmate.util.ClassStack
            dup
            aload 2 /* rawType */
            invokespecial com.fasterxml.classmate.util.ClassStack.<init>:(Ljava/lang/Class;)V
            astore 1 /* context */
         5: .line 365
            goto 12
         6: .line 366
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* rawType */
            invokevirtual com.fasterxml.classmate.util.ClassStack.find:(Ljava/lang/Class;)Lcom/fasterxml/classmate/util/ClassStack;
            astore 5 /* prev */
        start local 5 // com.fasterxml.classmate.util.ClassStack prev
         7: .line 367
            aload 5 /* prev */
            ifnull 11
         8: .line 369
            new com.fasterxml.classmate.types.ResolvedRecursiveType
            dup
            aload 2 /* rawType */
            aload 3 /* typeBindings */
            invokespecial com.fasterxml.classmate.types.ResolvedRecursiveType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)V
            astore 6 /* selfRef */
        start local 6 // com.fasterxml.classmate.types.ResolvedRecursiveType selfRef
         9: .line 370
            aload 5 /* prev */
            aload 6 /* selfRef */
            invokevirtual com.fasterxml.classmate.util.ClassStack.addSelfReference:(Lcom/fasterxml/classmate/types/ResolvedRecursiveType;)V
        10: .line 371
            aload 6 /* selfRef */
            areturn
        end local 6 // com.fasterxml.classmate.types.ResolvedRecursiveType selfRef
        11: .line 374
      StackMap locals: com.fasterxml.classmate.util.ClassStack
      StackMap stack:
            aload 1 /* context */
            aload 2 /* rawType */
            invokevirtual com.fasterxml.classmate.util.ClassStack.child:(Ljava/lang/Class;)Lcom/fasterxml/classmate/util/ClassStack;
            astore 1 /* context */
        end local 5 // com.fasterxml.classmate.util.ClassStack prev
        12: .line 378
      StackMap locals:
      StackMap stack:
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeBindings.typeParameterArray:()[Lcom/fasterxml/classmate/ResolvedType;
            astore 5 /* typeParameters */
        start local 5 // com.fasterxml.classmate.ResolvedType[] typeParameters
        13: .line 379
            aload 0 /* this */
            getfield com.fasterxml.classmate.TypeResolver._resolvedTypes:Lcom/fasterxml/classmate/util/ResolvedTypeCache;
            aload 2 /* rawType */
            aload 5 /* typeParameters */
            invokevirtual com.fasterxml.classmate.util.ResolvedTypeCache.key:(Ljava/lang/Class;[Lcom/fasterxml/classmate/ResolvedType;)Lcom/fasterxml/classmate/util/ResolvedTypeKey;
            astore 6 /* key */
        start local 6 // com.fasterxml.classmate.util.ResolvedTypeKey key
        14: .line 382
            aload 6 /* key */
            ifnonnull 17
        15: .line 383
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* rawType */
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._constructType:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            astore 4 /* type */
        16: .line 384
            goto 21
        17: .line 385
      StackMap locals: com.fasterxml.classmate.ResolvedType[] com.fasterxml.classmate.util.ResolvedTypeKey
      StackMap stack:
            aload 0 /* this */
            getfield com.fasterxml.classmate.TypeResolver._resolvedTypes:Lcom/fasterxml/classmate/util/ResolvedTypeCache;
            aload 6 /* key */
            invokevirtual com.fasterxml.classmate.util.ResolvedTypeCache.find:(Lcom/fasterxml/classmate/util/ResolvedTypeKey;)Lcom/fasterxml/classmate/ResolvedType;
            astore 4 /* type */
        18: .line 386
            aload 4 /* type */
            ifnonnull 21
        19: .line 387
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* rawType */
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._constructType:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            astore 4 /* type */
        20: .line 388
            aload 0 /* this */
            getfield com.fasterxml.classmate.TypeResolver._resolvedTypes:Lcom/fasterxml/classmate/util/ResolvedTypeCache;
            aload 6 /* key */
            aload 4 /* type */
            invokevirtual com.fasterxml.classmate.util.ResolvedTypeCache.put:(Lcom/fasterxml/classmate/util/ResolvedTypeKey;Lcom/fasterxml/classmate/ResolvedType;)V
        21: .line 391
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 4 /* type */
            invokevirtual com.fasterxml.classmate.util.ClassStack.resolveSelfReferences:(Lcom/fasterxml/classmate/ResolvedType;)V
        22: .line 392
            aload 4 /* type */
            areturn
        end local 6 // com.fasterxml.classmate.util.ResolvedTypeKey key
        end local 5 // com.fasterxml.classmate.ResolvedType[] typeParameters
        end local 4 // com.fasterxml.classmate.ResolvedType type
        end local 3 // com.fasterxml.classmate.TypeBindings typeBindings
        end local 2 // java.lang.Class rawType
        end local 1 // com.fasterxml.classmate.util.ClassStack context
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lcom/fasterxml/classmate/TypeResolver;
            0   23     1         context  Lcom/fasterxml/classmate/util/ClassStack;
            0   23     2         rawType  Ljava/lang/Class<*>;
            0   23     3    typeBindings  Lcom/fasterxml/classmate/TypeBindings;
            1   23     4            type  Lcom/fasterxml/classmate/ResolvedType;
            7   12     5            prev  Lcom/fasterxml/classmate/util/ClassStack;
            9   11     6         selfRef  Lcom/fasterxml/classmate/types/ResolvedRecursiveType;
           13   23     5  typeParameters  [Lcom/fasterxml/classmate/ResolvedType;
           14   23     6             key  Lcom/fasterxml/classmate/util/ResolvedTypeKey;
    Signature: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class<*>;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    MethodParameters:
              Name  Flags
      context       
      rawType       
      typeBindings  

  private com.fasterxml.classmate.ResolvedType _fromGenericType(com.fasterxml.classmate.util.ClassStack, com.fasterxml.classmate.GenericType<?>, com.fasterxml.classmate.TypeBindings);
    descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Lcom/fasterxml/classmate/GenericType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.util.ClassStack context
        start local 2 // com.fasterxml.classmate.GenericType generic
        start local 3 // com.fasterxml.classmate.TypeBindings typeBindings
         0: .line 406
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* generic */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            astore 4 /* type */
        start local 4 // com.fasterxml.classmate.ResolvedType type
         1: .line 407
            aload 4 /* type */
            ldc Lcom/fasterxml/classmate/GenericType;
            invokevirtual com.fasterxml.classmate.ResolvedType.findSupertype:(Ljava/lang/Class;)Lcom/fasterxml/classmate/ResolvedType;
            astore 5 /* genType */
        start local 5 // com.fasterxml.classmate.ResolvedType genType
         2: .line 408
            aload 5 /* genType */
            ifnonnull 4
         3: .line 409
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unparameterized GenericType instance ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* generic */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 411
      StackMap locals: com.fasterxml.classmate.ResolvedType com.fasterxml.classmate.ResolvedType
      StackMap stack:
            aload 5 /* genType */
            invokevirtual com.fasterxml.classmate.ResolvedType.getTypeBindings:()Lcom/fasterxml/classmate/TypeBindings;
            astore 6 /* b */
        start local 6 // com.fasterxml.classmate.TypeBindings b
         5: .line 412
            aload 6 /* b */
            invokevirtual com.fasterxml.classmate.TypeBindings.typeParameterArray:()[Lcom/fasterxml/classmate/ResolvedType;
            astore 7 /* params */
        start local 7 // com.fasterxml.classmate.ResolvedType[] params
         6: .line 413
            aload 7 /* params */
            arraylength
            ifne 8
         7: .line 414
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unparameterized GenericType instance ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* generic */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 416
      StackMap locals: com.fasterxml.classmate.TypeBindings com.fasterxml.classmate.ResolvedType[]
      StackMap stack:
            aload 7 /* params */
            iconst_0
            aaload
            areturn
        end local 7 // com.fasterxml.classmate.ResolvedType[] params
        end local 6 // com.fasterxml.classmate.TypeBindings b
        end local 5 // com.fasterxml.classmate.ResolvedType genType
        end local 4 // com.fasterxml.classmate.ResolvedType type
        end local 3 // com.fasterxml.classmate.TypeBindings typeBindings
        end local 2 // com.fasterxml.classmate.GenericType generic
        end local 1 // com.fasterxml.classmate.util.ClassStack context
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lcom/fasterxml/classmate/TypeResolver;
            0    9     1       context  Lcom/fasterxml/classmate/util/ClassStack;
            0    9     2       generic  Lcom/fasterxml/classmate/GenericType<*>;
            0    9     3  typeBindings  Lcom/fasterxml/classmate/TypeBindings;
            1    9     4          type  Lcom/fasterxml/classmate/ResolvedType;
            2    9     5       genType  Lcom/fasterxml/classmate/ResolvedType;
            5    9     6             b  Lcom/fasterxml/classmate/TypeBindings;
            6    9     7        params  [Lcom/fasterxml/classmate/ResolvedType;
    Signature: (Lcom/fasterxml/classmate/util/ClassStack;Lcom/fasterxml/classmate/GenericType<*>;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    MethodParameters:
              Name  Flags
      context       
      generic       
      typeBindings  

  private com.fasterxml.classmate.ResolvedType _constructType(com.fasterxml.classmate.util.ClassStack, java.lang.Class<?>, com.fasterxml.classmate.TypeBindings);
    descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=4
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.util.ClassStack context
        start local 2 // java.lang.Class rawType
        start local 3 // com.fasterxml.classmate.TypeBindings typeBindings
         0: .line 422
            aload 2 /* rawType */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 3
         1: .line 423
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* rawType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            astore 4 /* elementType */
        start local 4 // com.fasterxml.classmate.ResolvedType elementType
         2: .line 424
            new com.fasterxml.classmate.types.ResolvedArrayType
            dup
            aload 2 /* rawType */
            aload 3 /* typeBindings */
            aload 4 /* elementType */
            invokespecial com.fasterxml.classmate.types.ResolvedArrayType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;Lcom/fasterxml/classmate/ResolvedType;)V
            areturn
        end local 4 // com.fasterxml.classmate.ResolvedType elementType
         3: .line 428
      StackMap locals:
      StackMap stack:
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeBindings.isEmpty:()Z
            ifne 5
            aload 2 /* rawType */
            invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            arraylength
            ifne 5
         4: .line 429
            invokestatic com.fasterxml.classmate.TypeBindings.emptyBindings:()Lcom/fasterxml/classmate/TypeBindings;
            astore 3 /* typeBindings */
         5: .line 432
      StackMap locals:
      StackMap stack:
            aload 2 /* rawType */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 9
         6: .line 433
            new com.fasterxml.classmate.types.ResolvedInterfaceType
            dup
            aload 2 /* rawType */
            aload 3 /* typeBindings */
         7: .line 434
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* rawType */
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._resolveSuperInterfaces:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)[Lcom/fasterxml/classmate/ResolvedType;
         8: .line 433
            invokespecial com.fasterxml.classmate.types.ResolvedInterfaceType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;[Lcom/fasterxml/classmate/ResolvedType;)V
            areturn
         9: .line 437
      StackMap locals:
      StackMap stack:
            new com.fasterxml.classmate.types.ResolvedObjectType
            dup
            aload 2 /* rawType */
            aload 3 /* typeBindings */
        10: .line 438
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* rawType */
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._resolveSuperClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
        11: .line 439
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* rawType */
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._resolveSuperInterfaces:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)[Lcom/fasterxml/classmate/ResolvedType;
        12: .line 437
            invokespecial com.fasterxml.classmate.types.ResolvedObjectType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;Lcom/fasterxml/classmate/ResolvedType;[Lcom/fasterxml/classmate/ResolvedType;)V
            areturn
        end local 3 // com.fasterxml.classmate.TypeBindings typeBindings
        end local 2 // java.lang.Class rawType
        end local 1 // com.fasterxml.classmate.util.ClassStack context
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lcom/fasterxml/classmate/TypeResolver;
            0   13     1       context  Lcom/fasterxml/classmate/util/ClassStack;
            0   13     2       rawType  Ljava/lang/Class<*>;
            0   13     3  typeBindings  Lcom/fasterxml/classmate/TypeBindings;
            2    3     4   elementType  Lcom/fasterxml/classmate/ResolvedType;
    Signature: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class<*>;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    MethodParameters:
              Name  Flags
      context       
      rawType       
      typeBindings  

  private com.fasterxml.classmate.ResolvedType[] _resolveSuperInterfaces(com.fasterxml.classmate.util.ClassStack, java.lang.Class<?>, com.fasterxml.classmate.TypeBindings);
    descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)[Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.util.ClassStack context
        start local 2 // java.lang.Class rawType
        start local 3 // com.fasterxml.classmate.TypeBindings typeBindings
         0: .line 444
            aload 2 /* rawType */
            invokevirtual java.lang.Class.getGenericInterfaces:()[Ljava/lang/reflect/Type;
            astore 4 /* types */
        start local 4 // java.lang.reflect.Type[] types
         1: .line 445
            aload 4 /* types */
            ifnull 2
            aload 4 /* types */
            arraylength
            ifne 3
         2: .line 446
      StackMap locals: java.lang.reflect.Type[]
      StackMap stack:
            getstatic com.fasterxml.classmate.TypeResolver.NO_TYPES:[Lcom/fasterxml/classmate/ResolvedType;
            areturn
         3: .line 448
      StackMap locals:
      StackMap stack:
            aload 4 /* types */
            arraylength
            istore 5 /* len */
        start local 5 // int len
         4: .line 449
            iload 5 /* len */
            anewarray com.fasterxml.classmate.ResolvedType
            astore 6 /* resolved */
        start local 6 // com.fasterxml.classmate.ResolvedType[] resolved
         5: .line 450
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 9
         7: .line 451
      StackMap locals: int com.fasterxml.classmate.ResolvedType[] int
      StackMap stack:
            aload 6 /* resolved */
            iload 7 /* i */
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* types */
            iload 7 /* i */
            aaload
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            aastore
         8: .line 450
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 7 /* i */
            iload 5 /* len */
            if_icmplt 7
        end local 7 // int i
        10: .line 453
            aload 6 /* resolved */
            areturn
        end local 6 // com.fasterxml.classmate.ResolvedType[] resolved
        end local 5 // int len
        end local 4 // java.lang.reflect.Type[] types
        end local 3 // com.fasterxml.classmate.TypeBindings typeBindings
        end local 2 // java.lang.Class rawType
        end local 1 // com.fasterxml.classmate.util.ClassStack context
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lcom/fasterxml/classmate/TypeResolver;
            0   11     1       context  Lcom/fasterxml/classmate/util/ClassStack;
            0   11     2       rawType  Ljava/lang/Class<*>;
            0   11     3  typeBindings  Lcom/fasterxml/classmate/TypeBindings;
            1   11     4         types  [Ljava/lang/reflect/Type;
            4   11     5           len  I
            5   11     6      resolved  [Lcom/fasterxml/classmate/ResolvedType;
            6   10     7             i  I
    Signature: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class<*>;Lcom/fasterxml/classmate/TypeBindings;)[Lcom/fasterxml/classmate/ResolvedType;
    MethodParameters:
              Name  Flags
      context       
      rawType       
      typeBindings  

  private com.fasterxml.classmate.ResolvedType _resolveSuperClass(com.fasterxml.classmate.util.ClassStack, java.lang.Class<?>, com.fasterxml.classmate.TypeBindings);
    descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.util.ClassStack context
        start local 2 // java.lang.Class rawType
        start local 3 // com.fasterxml.classmate.TypeBindings typeBindings
         0: .line 466
            aload 2 /* rawType */
            invokevirtual java.lang.Class.getGenericSuperclass:()Ljava/lang/reflect/Type;
            astore 4 /* parent */
        start local 4 // java.lang.reflect.Type parent
         1: .line 467
            aload 4 /* parent */
            ifnonnull 3
         2: .line 468
            aconst_null
            areturn
         3: .line 470
      StackMap locals: java.lang.reflect.Type
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* parent */
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        end local 4 // java.lang.reflect.Type parent
        end local 3 // com.fasterxml.classmate.TypeBindings typeBindings
        end local 2 // java.lang.Class rawType
        end local 1 // com.fasterxml.classmate.util.ClassStack context
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/fasterxml/classmate/TypeResolver;
            0    4     1       context  Lcom/fasterxml/classmate/util/ClassStack;
            0    4     2       rawType  Ljava/lang/Class<*>;
            0    4     3  typeBindings  Lcom/fasterxml/classmate/TypeBindings;
            1    4     4        parent  Ljava/lang/reflect/Type;
    Signature: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class<*>;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    MethodParameters:
              Name  Flags
      context       
      rawType       
      typeBindings  

  private com.fasterxml.classmate.ResolvedType _fromParamType(com.fasterxml.classmate.util.ClassStack, java.lang.reflect.ParameterizedType, com.fasterxml.classmate.TypeBindings);
    descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/ParameterizedType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.util.ClassStack context
        start local 2 // java.lang.reflect.ParameterizedType ptype
        start local 3 // com.fasterxml.classmate.TypeBindings parentBindings
         0: .line 479
            aload 2 /* ptype */
            invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
            checkcast java.lang.Class
            astore 4 /* rawType */
        start local 4 // java.lang.Class rawType
         1: .line 480
            aload 2 /* ptype */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            astore 5 /* params */
        start local 5 // java.lang.reflect.Type[] params
         2: .line 481
            aload 5 /* params */
            arraylength
            istore 6 /* len */
        start local 6 // int len
         3: .line 482
            iload 6 /* len */
            anewarray com.fasterxml.classmate.ResolvedType
            astore 7 /* types */
        start local 7 // com.fasterxml.classmate.ResolvedType[] types
         4: .line 484
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         5: goto 8
         6: .line 485
      StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.util.ClassStack java.lang.reflect.ParameterizedType com.fasterxml.classmate.TypeBindings java.lang.Class java.lang.reflect.Type[] int com.fasterxml.classmate.ResolvedType[] int
      StackMap stack:
            aload 7 /* types */
            iload 8 /* i */
            aload 0 /* this */
            aload 1 /* context */
            aload 5 /* params */
            iload 8 /* i */
            aaload
            aload 3 /* parentBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            aastore
         7: .line 484
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 8 /* i */
            iload 6 /* len */
            if_icmplt 6
        end local 8 // int i
         9: .line 488
            aload 4 /* rawType */
            aload 7 /* types */
            invokestatic com.fasterxml.classmate.TypeBindings.create:(Ljava/lang/Class;[Lcom/fasterxml/classmate/ResolvedType;)Lcom/fasterxml/classmate/TypeBindings;
            astore 8 /* newBindings */
        start local 8 // com.fasterxml.classmate.TypeBindings newBindings
        10: .line 489
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* rawType */
            aload 8 /* newBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromClass:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        end local 8 // com.fasterxml.classmate.TypeBindings newBindings
        end local 7 // com.fasterxml.classmate.ResolvedType[] types
        end local 6 // int len
        end local 5 // java.lang.reflect.Type[] params
        end local 4 // java.lang.Class rawType
        end local 3 // com.fasterxml.classmate.TypeBindings parentBindings
        end local 2 // java.lang.reflect.ParameterizedType ptype
        end local 1 // com.fasterxml.classmate.util.ClassStack context
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lcom/fasterxml/classmate/TypeResolver;
            0   11     1         context  Lcom/fasterxml/classmate/util/ClassStack;
            0   11     2           ptype  Ljava/lang/reflect/ParameterizedType;
            0   11     3  parentBindings  Lcom/fasterxml/classmate/TypeBindings;
            1   11     4         rawType  Ljava/lang/Class<*>;
            2   11     5          params  [Ljava/lang/reflect/Type;
            3   11     6             len  I
            4   11     7           types  [Lcom/fasterxml/classmate/ResolvedType;
            5    9     8               i  I
           10   11     8     newBindings  Lcom/fasterxml/classmate/TypeBindings;
    MethodParameters:
                Name  Flags
      context         
      ptype           
      parentBindings  

  private com.fasterxml.classmate.ResolvedType _fromArrayType(com.fasterxml.classmate.util.ClassStack, java.lang.reflect.GenericArrayType, com.fasterxml.classmate.TypeBindings);
    descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/GenericArrayType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.util.ClassStack context
        start local 2 // java.lang.reflect.GenericArrayType arrayType
        start local 3 // com.fasterxml.classmate.TypeBindings typeBindings
         0: .line 494
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arrayType */
            invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            astore 4 /* elementType */
        start local 4 // com.fasterxml.classmate.ResolvedType elementType
         1: .line 496
            aload 4 /* elementType */
            invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 5 /* emptyArray */
        start local 5 // java.lang.Object emptyArray
         2: .line 497
            new com.fasterxml.classmate.types.ResolvedArrayType
            dup
            aload 5 /* emptyArray */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 3 /* typeBindings */
            aload 4 /* elementType */
            invokespecial com.fasterxml.classmate.types.ResolvedArrayType.<init>:(Ljava/lang/Class;Lcom/fasterxml/classmate/TypeBindings;Lcom/fasterxml/classmate/ResolvedType;)V
            areturn
        end local 5 // java.lang.Object emptyArray
        end local 4 // com.fasterxml.classmate.ResolvedType elementType
        end local 3 // com.fasterxml.classmate.TypeBindings typeBindings
        end local 2 // java.lang.reflect.GenericArrayType arrayType
        end local 1 // com.fasterxml.classmate.util.ClassStack context
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/fasterxml/classmate/TypeResolver;
            0    3     1       context  Lcom/fasterxml/classmate/util/ClassStack;
            0    3     2     arrayType  Ljava/lang/reflect/GenericArrayType;
            0    3     3  typeBindings  Lcom/fasterxml/classmate/TypeBindings;
            1    3     4   elementType  Lcom/fasterxml/classmate/ResolvedType;
            2    3     5    emptyArray  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      context       
      arrayType     
      typeBindings  

  private com.fasterxml.classmate.ResolvedType _fromWildcard(com.fasterxml.classmate.util.ClassStack, java.lang.reflect.WildcardType, com.fasterxml.classmate.TypeBindings);
    descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/WildcardType;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.util.ClassStack context
        start local 2 // java.lang.reflect.WildcardType wildType
        start local 3 // com.fasterxml.classmate.TypeBindings typeBindings
         0: .line 507
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* wildType */
            invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
            iconst_0
            aaload
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        end local 3 // com.fasterxml.classmate.TypeBindings typeBindings
        end local 2 // java.lang.reflect.WildcardType wildType
        end local 1 // com.fasterxml.classmate.util.ClassStack context
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/fasterxml/classmate/TypeResolver;
            0    1     1       context  Lcom/fasterxml/classmate/util/ClassStack;
            0    1     2      wildType  Ljava/lang/reflect/WildcardType;
            0    1     3  typeBindings  Lcom/fasterxml/classmate/TypeBindings;
    MethodParameters:
              Name  Flags
      context       
      wildType      
      typeBindings  

  private com.fasterxml.classmate.ResolvedType _fromVariable(com.fasterxml.classmate.util.ClassStack, java.lang.reflect.TypeVariable<?>, com.fasterxml.classmate.TypeBindings);
    descriptor: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/TypeVariable;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.util.ClassStack context
        start local 2 // java.lang.reflect.TypeVariable variable
        start local 3 // com.fasterxml.classmate.TypeBindings typeBindings
         0: .line 513
            aload 2 /* variable */
            invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         1: .line 514
            aload 3 /* typeBindings */
            aload 4 /* name */
            invokevirtual com.fasterxml.classmate.TypeBindings.findBoundType:(Ljava/lang/String;)Lcom/fasterxml/classmate/ResolvedType;
            astore 5 /* type */
        start local 5 // com.fasterxml.classmate.ResolvedType type
         2: .line 516
            aload 5 /* type */
            ifnull 4
         3: .line 517
            aload 5 /* type */
            areturn
         4: .line 526
      StackMap locals: java.lang.String com.fasterxml.classmate.ResolvedType
      StackMap stack:
            aload 3 /* typeBindings */
            aload 4 /* name */
            invokevirtual com.fasterxml.classmate.TypeBindings.hasUnbound:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 527
            getstatic com.fasterxml.classmate.TypeResolver.sJavaLangObject:Lcom/fasterxml/classmate/types/ResolvedObjectType;
            areturn
         6: .line 529
      StackMap locals:
      StackMap stack:
            aload 3 /* typeBindings */
            aload 4 /* name */
            invokevirtual com.fasterxml.classmate.TypeBindings.withUnboundVariable:(Ljava/lang/String;)Lcom/fasterxml/classmate/TypeBindings;
            astore 3 /* typeBindings */
         7: .line 531
            aload 2 /* variable */
            invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
            astore 6 /* bounds */
        start local 6 // java.lang.reflect.Type[] bounds
         8: .line 532
            aload 0 /* this */
            aload 1 /* context */
            aload 6 /* bounds */
            iconst_0
            aaload
            aload 3 /* typeBindings */
            invokevirtual com.fasterxml.classmate.TypeResolver._fromAny:(Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/Type;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
            areturn
        end local 6 // java.lang.reflect.Type[] bounds
        end local 5 // com.fasterxml.classmate.ResolvedType type
        end local 4 // java.lang.String name
        end local 3 // com.fasterxml.classmate.TypeBindings typeBindings
        end local 2 // java.lang.reflect.TypeVariable variable
        end local 1 // com.fasterxml.classmate.util.ClassStack context
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lcom/fasterxml/classmate/TypeResolver;
            0    9     1       context  Lcom/fasterxml/classmate/util/ClassStack;
            0    9     2      variable  Ljava/lang/reflect/TypeVariable<*>;
            0    9     3  typeBindings  Lcom/fasterxml/classmate/TypeBindings;
            1    9     4          name  Ljava/lang/String;
            2    9     5          type  Lcom/fasterxml/classmate/ResolvedType;
            8    9     6        bounds  [Ljava/lang/reflect/Type;
    Signature: (Lcom/fasterxml/classmate/util/ClassStack;Ljava/lang/reflect/TypeVariable<*>;Lcom/fasterxml/classmate/TypeBindings;)Lcom/fasterxml/classmate/ResolvedType;
    MethodParameters:
              Name  Flags
      context       
      variable      
      typeBindings  

  private void _resolveTypePlaceholders(com.fasterxml.classmate.ResolvedType, com.fasterxml.classmate.ResolvedType);
    descriptor: (Lcom/fasterxml/classmate/ResolvedType;Lcom/fasterxml/classmate/ResolvedType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.ResolvedType sourceType
        start local 2 // com.fasterxml.classmate.ResolvedType actualType
         0: .line 551
            aload 1 /* sourceType */
            invokevirtual com.fasterxml.classmate.ResolvedType.getTypeParameters:()Ljava/util/List;
            astore 3 /* expectedTypes */
        start local 3 // java.util.List expectedTypes
         1: .line 552
            aload 2 /* actualType */
            invokevirtual com.fasterxml.classmate.ResolvedType.getTypeParameters:()Ljava/util/List;
            astore 4 /* actualTypes */
        start local 4 // java.util.List actualTypes
         2: .line 553
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: aload 3 /* expectedTypes */
            invokeinterface java.util.List.size:()I
            istore 6 /* len */
        start local 6 // int len
         4: goto 12
         5: .line 554
      StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType com.fasterxml.classmate.ResolvedType java.util.List java.util.List int int
      StackMap stack:
            aload 3 /* expectedTypes */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.fasterxml.classmate.ResolvedType
            astore 7 /* exp */
        start local 7 // com.fasterxml.classmate.ResolvedType exp
         6: .line 555
            aload 4 /* actualTypes */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.fasterxml.classmate.ResolvedType
            astore 8 /* act */
        start local 8 // com.fasterxml.classmate.ResolvedType act
         7: .line 556
            aload 0 /* this */
            aload 7 /* exp */
            aload 8 /* act */
            invokevirtual com.fasterxml.classmate.TypeResolver._verifyAndResolve:(Lcom/fasterxml/classmate/ResolvedType;Lcom/fasterxml/classmate/ResolvedType;)Z
            ifne 11
         8: .line 557
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Type parameter #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " differs; expected "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 558
            aload 7 /* exp */
            invokevirtual com.fasterxml.classmate.ResolvedType.getBriefDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", got "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* act */
            invokevirtual com.fasterxml.classmate.ResolvedType.getBriefDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 557
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // com.fasterxml.classmate.ResolvedType act
        end local 7 // com.fasterxml.classmate.ResolvedType exp
        11: .line 553
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 6 /* len */
            if_icmplt 5
        end local 6 // int len
        end local 5 // int i
        13: .line 561
            return
        end local 4 // java.util.List actualTypes
        end local 3 // java.util.List expectedTypes
        end local 2 // com.fasterxml.classmate.ResolvedType actualType
        end local 1 // com.fasterxml.classmate.ResolvedType sourceType
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lcom/fasterxml/classmate/TypeResolver;
            0   14     1     sourceType  Lcom/fasterxml/classmate/ResolvedType;
            0   14     2     actualType  Lcom/fasterxml/classmate/ResolvedType;
            1   14     3  expectedTypes  Ljava/util/List<Lcom/fasterxml/classmate/ResolvedType;>;
            2   14     4    actualTypes  Ljava/util/List<Lcom/fasterxml/classmate/ResolvedType;>;
            3   13     5              i  I
            4   13     6            len  I
            6   11     7            exp  Lcom/fasterxml/classmate/ResolvedType;
            7   11     8            act  Lcom/fasterxml/classmate/ResolvedType;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
            Name  Flags
      sourceType  
      actualType  

  private boolean _verifyAndResolve(com.fasterxml.classmate.ResolvedType, com.fasterxml.classmate.ResolvedType);
    descriptor: (Lcom/fasterxml/classmate/ResolvedType;Lcom/fasterxml/classmate/ResolvedType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // com.fasterxml.classmate.TypeResolver this
        start local 1 // com.fasterxml.classmate.ResolvedType exp
        start local 2 // com.fasterxml.classmate.ResolvedType act
         0: .line 566
            aload 2 /* act */
            instanceof com.fasterxml.classmate.types.TypePlaceHolder
            ifeq 3
         1: .line 567
            aload 2 /* act */
            checkcast com.fasterxml.classmate.types.TypePlaceHolder
            aload 1 /* exp */
            invokevirtual com.fasterxml.classmate.types.TypePlaceHolder.actualType:(Lcom/fasterxml/classmate/ResolvedType;)V
         2: .line 568
            iconst_1
            ireturn
         3: .line 572
      StackMap locals:
      StackMap stack:
            aload 1 /* exp */
            invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
            aload 2 /* act */
            invokevirtual com.fasterxml.classmate.ResolvedType.getErasedType:()Ljava/lang/Class;
            if_acmpeq 5
         4: .line 573
            iconst_0
            ireturn
         5: .line 576
      StackMap locals:
      StackMap stack:
            aload 1 /* exp */
            invokevirtual com.fasterxml.classmate.ResolvedType.getTypeParameters:()Ljava/util/List;
            astore 3 /* expectedTypes */
        start local 3 // java.util.List expectedTypes
         6: .line 577
            aload 2 /* act */
            invokevirtual com.fasterxml.classmate.ResolvedType.getTypeParameters:()Ljava/util/List;
            astore 4 /* actualTypes */
        start local 4 // java.util.List actualTypes
         7: .line 578
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: aload 3 /* expectedTypes */
            invokeinterface java.util.List.size:()I
            istore 6 /* len */
        start local 6 // int len
         9: goto 15
        10: .line 579
      StackMap locals: com.fasterxml.classmate.TypeResolver com.fasterxml.classmate.ResolvedType com.fasterxml.classmate.ResolvedType java.util.List java.util.List int int
      StackMap stack:
            aload 3 /* expectedTypes */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.fasterxml.classmate.ResolvedType
            astore 7 /* exp2 */
        start local 7 // com.fasterxml.classmate.ResolvedType exp2
        11: .line 580
            aload 4 /* actualTypes */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.fasterxml.classmate.ResolvedType
            astore 8 /* act2 */
        start local 8 // com.fasterxml.classmate.ResolvedType act2
        12: .line 581
            aload 0 /* this */
            aload 7 /* exp2 */
            aload 8 /* act2 */
            invokevirtual com.fasterxml.classmate.TypeResolver._verifyAndResolve:(Lcom/fasterxml/classmate/ResolvedType;Lcom/fasterxml/classmate/ResolvedType;)Z
            ifne 14
        13: .line 582
            iconst_0
            ireturn
        end local 8 // com.fasterxml.classmate.ResolvedType act2
        end local 7 // com.fasterxml.classmate.ResolvedType exp2
        14: .line 578
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            iload 6 /* len */
            if_icmplt 10
        end local 6 // int len
        end local 5 // int i
        16: .line 585
            iconst_1
            ireturn
        end local 4 // java.util.List actualTypes
        end local 3 // java.util.List expectedTypes
        end local 2 // com.fasterxml.classmate.ResolvedType act
        end local 1 // com.fasterxml.classmate.ResolvedType exp
        end local 0 // com.fasterxml.classmate.TypeResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lcom/fasterxml/classmate/TypeResolver;
            0   17     1            exp  Lcom/fasterxml/classmate/ResolvedType;
            0   17     2            act  Lcom/fasterxml/classmate/ResolvedType;
            6   17     3  expectedTypes  Ljava/util/List<Lcom/fasterxml/classmate/ResolvedType;>;
            7   17     4    actualTypes  Ljava/util/List<Lcom/fasterxml/classmate/ResolvedType;>;
            8   16     5              i  I
            9   16     6            len  I
           11   14     7           exp2  Lcom/fasterxml/classmate/ResolvedType;
           12   14     8           act2  Lcom/fasterxml/classmate/ResolvedType;
    MethodParameters:
      Name  Flags
      exp   
      act   
}
SourceFile: "TypeResolver.java"