public class org.jboss.resteasy.util.Types
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jboss.resteasy.util.Types
  super_class: java.lang.Object
{
  private static final java.lang.reflect.Type[] EMPTY_TYPE_ARRAY;
    descriptor: [Ljava/lang/reflect/Type;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 498
            iconst_0
            anewarray java.lang.reflect.Type
            putstatic org.jboss.resteasy.util.Types.EMPTY_TYPE_ARRAY:[Ljava/lang/reflect/Type;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  public static boolean isA(java.lang.Class, java.lang.reflect.ParameterizedType);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.reflect.ParameterizedType pType
         0: .line 33
            aload 0 /* clazz */
            aload 1 /* pType */
            invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
            checkcast java.lang.Class
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.reflect.ParameterizedType pType
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class;
            0    1     1  pType  Ljava/lang/reflect/ParameterizedType;
    MethodParameters:
       Name  Flags
      clazz  
      pType  

  public static java.lang.Class getArgumentType(java.lang.reflect.ParameterizedType, int);
    descriptor: (Ljava/lang/reflect/ParameterizedType;I)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.reflect.ParameterizedType pType
        start local 1 // int index
         0: .line 44
            aload 0 /* pType */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            iload 1 /* index */
            aaload
            checkcast java.lang.Class
            areturn
        end local 1 // int index
        end local 0 // java.lang.reflect.ParameterizedType pType
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  pType  Ljava/lang/reflect/ParameterizedType;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      pType  
      index  

  public static java.lang.Class getTemplateParameterOfInterface(java.lang.Class, java.lang.Class);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Class base
        start local 1 // java.lang.Class desiredInterface
         0: .line 49
            aload 0 /* base */
            aload 1 /* desiredInterface */
            invokestatic org.jboss.resteasy.util.Types.searchForInterfaceTemplateParameter:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Object;
            astore 2 /* rtn */
        start local 2 // java.lang.Object rtn
         1: .line 50
            aload 2 /* rtn */
            ifnull 2
            aload 2 /* rtn */
            instanceof java.lang.Class
            ifeq 2
            aload 2 /* rtn */
            checkcast java.lang.Class
            areturn
         2: .line 51
      StackMap locals: java.lang.Object
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Object rtn
        end local 1 // java.lang.Class desiredInterface
        end local 0 // java.lang.Class base
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              base  Ljava/lang/Class;
            0    3     1  desiredInterface  Ljava/lang/Class;
            1    3     2               rtn  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      base              
      desiredInterface  

  private static java.lang.Object searchForInterfaceTemplateParameter(java.lang.Class, java.lang.Class);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=10, args_size=2
        start local 0 // java.lang.Class base
        start local 1 // java.lang.Class desiredInterface
         0: .line 57
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 13
         2: .line 59
      StackMap locals: int
      StackMap stack:
            aload 0 /* base */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            iload 2 /* i */
            aaload
            astore 3 /* intf */
        start local 3 // java.lang.Class intf
         3: .line 60
            aload 3 /* intf */
            aload 1 /* desiredInterface */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
         4: .line 62
            aload 0 /* base */
            invokevirtual java.lang.Class.getGenericInterfaces:()[Ljava/lang/reflect/Type;
            iload 2 /* i */
            aaload
            astore 4 /* generic */
        start local 4 // java.lang.reflect.Type generic
         5: .line 63
            aload 4 /* generic */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 11
         6: .line 65
            aload 4 /* generic */
            checkcast java.lang.reflect.ParameterizedType
            astore 5 /* p */
        start local 5 // java.lang.reflect.ParameterizedType p
         7: .line 66
            aload 5 /* p */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            iconst_0
            aaload
            astore 6 /* type */
        start local 6 // java.lang.reflect.Type type
         8: .line 67
            aload 6 /* type */
            invokestatic org.jboss.resteasy.util.Types.getRawTypeNoException:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            astore 7 /* rtn */
        start local 7 // java.lang.Class rtn
         9: .line 68
            aload 7 /* rtn */
            ifnull 10
            aload 7 /* rtn */
            areturn
        10: .line 69
      StackMap locals: java.lang.Class java.lang.Class int java.lang.Class java.lang.reflect.Type java.lang.reflect.ParameterizedType java.lang.reflect.Type java.lang.Class
      StackMap stack:
            aload 6 /* type */
            areturn
        end local 7 // java.lang.Class rtn
        end local 6 // java.lang.reflect.Type type
        end local 5 // java.lang.reflect.ParameterizedType p
        11: .line 73
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.reflect.Type generic
        end local 3 // java.lang.Class intf
        12: .line 57
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            aload 0 /* base */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            arraylength
            if_icmplt 2
        end local 2 // int i
        14: .line 77
            aload 0 /* base */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            ifnull 15
            aload 0 /* base */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            ldc Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 16
      StackMap locals:
      StackMap stack:
        15: aconst_null
            areturn
        16: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* base */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            aload 1 /* desiredInterface */
            invokestatic org.jboss.resteasy.util.Types.searchForInterfaceTemplateParameter:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Object;
            astore 2 /* rtn */
        start local 2 // java.lang.Object rtn
        17: .line 79
            aload 2 /* rtn */
            ifnull 18
            aload 2 /* rtn */
            instanceof java.lang.Class
            ifeq 19
      StackMap locals: java.lang.Object
      StackMap stack:
        18: aload 2 /* rtn */
            areturn
        19: .line 80
      StackMap locals:
      StackMap stack:
            aload 2 /* rtn */
            instanceof java.lang.reflect.TypeVariable
            ifne 20
            aconst_null
            areturn
        20: .line 82
      StackMap locals:
      StackMap stack:
            aload 2 /* rtn */
            checkcast java.lang.reflect.TypeVariable
            invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
        21: .line 83
            iconst_m1
            istore 4 /* index */
        start local 4 // int index
        22: .line 84
            aload 0 /* base */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            astore 5 /* variables */
        start local 5 // java.lang.reflect.TypeVariable[] variables
        23: .line 85
            aload 5 /* variables */
            ifnull 24
            aload 5 /* variables */
            arraylength
            iconst_1
            if_icmpge 25
      StackMap locals: java.lang.String int java.lang.reflect.TypeVariable[]
      StackMap stack:
        24: aconst_null
            areturn
        25: .line 87
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        26: goto 29
        27: .line 89
      StackMap locals: int
      StackMap stack:
            aload 5 /* variables */
            iload 6 /* i */
            aaload
            invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
            aload 3 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
            iload 6 /* i */
            istore 4 /* index */
        28: .line 87
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 6 /* i */
            aload 5 /* variables */
            arraylength
            if_icmplt 27
        end local 6 // int i
        30: .line 91
            iload 4 /* index */
            iconst_m1
            if_icmpne 31
            aconst_null
            areturn
        31: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* base */
            invokevirtual java.lang.Class.getGenericSuperclass:()Ljava/lang/reflect/Type;
            astore 6 /* genericSuperclass */
        start local 6 // java.lang.reflect.Type genericSuperclass
        32: .line 95
            aload 6 /* genericSuperclass */
            instanceof java.lang.reflect.ParameterizedType
            ifne 33
            aconst_null
            areturn
        33: .line 97
      StackMap locals: java.lang.reflect.Type
      StackMap stack:
            aload 6 /* genericSuperclass */
            checkcast java.lang.reflect.ParameterizedType
            astore 7 /* pt */
        start local 7 // java.lang.reflect.ParameterizedType pt
        34: .line 98
            aload 7 /* pt */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            iload 4 /* index */
            aaload
            astore 8 /* type */
        start local 8 // java.lang.reflect.Type type
        35: .line 100
            aload 8 /* type */
            invokestatic org.jboss.resteasy.util.Types.getRawTypeNoException:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            astore 9 /* clazz */
        start local 9 // java.lang.Class clazz
        36: .line 101
            aload 9 /* clazz */
            ifnull 37
            aload 9 /* clazz */
            areturn
        37: .line 102
      StackMap locals: java.lang.reflect.ParameterizedType java.lang.reflect.Type java.lang.Class
      StackMap stack:
            aload 8 /* type */
            areturn
        end local 9 // java.lang.Class clazz
        end local 8 // java.lang.reflect.Type type
        end local 7 // java.lang.reflect.ParameterizedType pt
        end local 6 // java.lang.reflect.Type genericSuperclass
        end local 5 // java.lang.reflect.TypeVariable[] variables
        end local 4 // int index
        end local 3 // java.lang.String name
        end local 2 // java.lang.Object rtn
        end local 1 // java.lang.Class desiredInterface
        end local 0 // java.lang.Class base
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   38     0               base  Ljava/lang/Class;
            0   38     1   desiredInterface  Ljava/lang/Class;
            1   14     2                  i  I
            3   12     3               intf  Ljava/lang/Class;
            5   12     4            generic  Ljava/lang/reflect/Type;
            7   11     5                  p  Ljava/lang/reflect/ParameterizedType;
            8   11     6               type  Ljava/lang/reflect/Type;
            9   11     7                rtn  Ljava/lang/Class;
           17   38     2                rtn  Ljava/lang/Object;
           21   38     3               name  Ljava/lang/String;
           22   38     4              index  I
           23   38     5          variables  [Ljava/lang/reflect/TypeVariable;
           26   30     6                  i  I
           32   38     6  genericSuperclass  Ljava/lang/reflect/Type;
           34   38     7                 pt  Ljava/lang/reflect/ParameterizedType;
           35   38     8               type  Ljava/lang/reflect/Type;
           36   38     9              clazz  Ljava/lang/Class;
    MethodParameters:
                  Name  Flags
      base              
      desiredInterface  

  public static boolean isCompatible(java.lang.reflect.Method, java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.lang.reflect.Method method
        start local 1 // java.lang.reflect.Method intfMethod
         0: .line 116
            aload 0 /* method */
            aload 1 /* intfMethod */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 1 /* intfMethod */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            iconst_0
            ireturn
         2: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            aload 1 /* intfMethod */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            if_icmpeq 3
            iconst_0
            ireturn
         3: .line 121
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 123
      StackMap locals: int
      StackMap stack:
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            iload 2 /* i */
            aaload
            astore 3 /* rootParam */
        start local 3 // java.lang.Class rootParam
         6: .line 124
            aload 1 /* intfMethod */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            iload 2 /* i */
            aaload
            astore 4 /* intfParam */
        start local 4 // java.lang.Class intfParam
         7: .line 125
            aload 4 /* intfParam */
            aload 3 /* rootParam */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 8
            iconst_0
            ireturn
        end local 4 // java.lang.Class intfParam
        end local 3 // java.lang.Class rootParam
         8: .line 121
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            if_icmplt 5
        end local 2 // int i
        10: .line 127
            iconst_1
            ireturn
        end local 1 // java.lang.reflect.Method intfMethod
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0      method  Ljava/lang/reflect/Method;
            0   11     1  intfMethod  Ljava/lang/reflect/Method;
            4   10     2           i  I
            6    8     3   rootParam  Ljava/lang/Class;
            7    8     4   intfParam  Ljava/lang/Class;
    MethodParameters:
            Name  Flags
      method      
      intfMethod  

  public static java.lang.reflect.Method getImplementingMethod(java.lang.Class, java.lang.reflect.Method);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.reflect.Method intfMethod
         0: .line 140
            aload 1 /* intfMethod */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            astore 2 /* declaringClass */
        start local 2 // java.lang.Class declaringClass
         1: .line 141
            aload 2 /* declaringClass */
            aload 0 /* clazz */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
            aload 1 /* intfMethod */
            areturn
         2: .line 143
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* intfMethod */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 3 /* paramTypes */
        start local 3 // java.lang.Class[] paramTypes
         3: .line 145
            aload 2 /* declaringClass */
            invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            arraylength
            ifle 29
            aload 3 /* paramTypes */
            arraylength
            ifle 29
         4: .line 147
            aload 0 /* clazz */
            aload 2 /* declaringClass */
            invokestatic org.jboss.resteasy.util.Types.findParameterizedTypes:(Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            astore 4 /* intfTypes */
        start local 4 // java.lang.reflect.Type[] intfTypes
         5: .line 148
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 5 /* typeVarMap */
        start local 5 // java.util.Map typeVarMap
         6: .line 149
            aload 2 /* declaringClass */
            invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            astore 6 /* vars */
        start local 6 // java.lang.reflect.TypeVariable[] vars
         7: .line 150
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 14
         9: .line 152
      StackMap locals: java.lang.Class java.lang.reflect.Method java.lang.Class java.lang.Class[] java.lang.reflect.Type[] java.util.Map java.lang.reflect.TypeVariable[] int
      StackMap stack:
            aload 4 /* intfTypes */
            ifnull 12
            iload 7 /* i */
            aload 4 /* intfTypes */
            arraylength
            if_icmpge 12
        10: .line 154
            aload 5 /* typeVarMap */
            aload 6 /* vars */
            iload 7 /* i */
            aaload
            invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
            aload 4 /* intfTypes */
            iload 7 /* i */
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 155
            goto 13
        12: .line 159
      StackMap locals:
      StackMap stack:
            aload 5 /* typeVarMap */
            aload 6 /* vars */
            iload 7 /* i */
            aaload
            invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
            aload 6 /* vars */
            iload 7 /* i */
            aaload
            invokeinterface java.lang.reflect.TypeVariable.getGenericDeclaration:()Ljava/lang/reflect/GenericDeclaration;
            checkcast java.lang.reflect.Type
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 150
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            aload 6 /* vars */
            arraylength
            if_icmplt 9
        end local 7 // int i
        15: .line 162
            aload 1 /* intfMethod */
            invokevirtual java.lang.reflect.Method.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
            astore 7 /* paramGenericTypes */
        start local 7 // java.lang.reflect.Type[] paramGenericTypes
        16: .line 163
            aload 3 /* paramTypes */
            arraylength
            anewarray java.lang.Class
            astore 3 /* paramTypes */
        17: .line 165
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        18: goto 28
        19: .line 167
      StackMap locals: java.lang.Class java.lang.reflect.Method java.lang.Class java.lang.Class[] java.lang.reflect.Type[] java.util.Map java.lang.reflect.TypeVariable[] java.lang.reflect.Type[] int
      StackMap stack:
            aload 7 /* paramGenericTypes */
            iload 8 /* i */
            aaload
            instanceof java.lang.reflect.TypeVariable
            ifeq 26
        20: .line 169
            aload 7 /* paramGenericTypes */
            iload 8 /* i */
            aaload
            checkcast java.lang.reflect.TypeVariable
            astore 9 /* tv */
        start local 9 // java.lang.reflect.TypeVariable tv
        21: .line 170
            aload 5 /* typeVarMap */
            aload 9 /* tv */
            invokeinterface java.lang.reflect.TypeVariable.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Type
            astore 10 /* t */
        start local 10 // java.lang.reflect.Type t
        22: .line 171
            aload 10 /* t */
            ifnonnull 24
        23: .line 173
            new java.lang.RuntimeException
            dup
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.MESSAGES:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/Messages;
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.unableToResolveTypeVariable:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 175
      StackMap locals: java.lang.reflect.TypeVariable java.lang.reflect.Type
      StackMap stack:
            aload 3 /* paramTypes */
            iload 8 /* i */
            aload 10 /* t */
            invokestatic org.jboss.resteasy.util.Types.getRawType:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            aastore
        end local 10 // java.lang.reflect.Type t
        end local 9 // java.lang.reflect.TypeVariable tv
        25: .line 176
            goto 27
        26: .line 179
      StackMap locals:
      StackMap stack:
            aload 3 /* paramTypes */
            iload 8 /* i */
            aload 7 /* paramGenericTypes */
            iload 8 /* i */
            aaload
            invokestatic org.jboss.resteasy.util.Types.getRawType:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            aastore
        27: .line 165
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 8 /* i */
            aload 3 /* paramTypes */
            arraylength
            if_icmplt 19
        end local 8 // int i
        end local 7 // java.lang.reflect.Type[] paramGenericTypes
        end local 6 // java.lang.reflect.TypeVariable[] vars
        end local 5 // java.util.Map typeVarMap
        end local 4 // java.lang.reflect.Type[] intfTypes
        29: .line 187
      StackMap locals: java.lang.Class java.lang.reflect.Method java.lang.Class java.lang.Class[]
      StackMap stack:
            aload 0 /* clazz */
            aload 1 /* intfMethod */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 3 /* paramTypes */
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
        30: areturn
        31: .line 189
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        32: .line 195
            aload 0 /* clazz */
            aload 1 /* intfMethod */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 1 /* intfMethod */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* tmp */
        start local 4 // java.lang.reflect.Method tmp
        33: .line 196
            aload 4 /* tmp */
        34: areturn
        end local 4 // java.lang.reflect.Method tmp
        35: .line 198
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        36: .line 202
            aload 1 /* intfMethod */
            areturn
        end local 3 // java.lang.Class[] paramTypes
        end local 2 // java.lang.Class declaringClass
        end local 1 // java.lang.reflect.Method intfMethod
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   37     0              clazz  Ljava/lang/Class;
            0   37     1         intfMethod  Ljava/lang/reflect/Method;
            1   37     2     declaringClass  Ljava/lang/Class<*>;
            3   37     3         paramTypes  [Ljava/lang/Class;
            5   29     4          intfTypes  [Ljava/lang/reflect/Type;
            6   29     5         typeVarMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/reflect/Type;>;
            7   29     6               vars  [Ljava/lang/reflect/TypeVariable;
            8   15     7                  i  I
           16   29     7  paramGenericTypes  [Ljava/lang/reflect/Type;
           18   29     8                  i  I
           21   25     9                 tv  Ljava/lang/reflect/TypeVariable;
           22   25    10                  t  Ljava/lang/reflect/Type;
           33   35     4                tmp  Ljava/lang/reflect/Method;
      Exception table:
        from    to  target  type
          29    30      31  Class java.lang.NoSuchMethodException
          32    34      35  Class java.lang.NoSuchMethodException
    MethodParameters:
            Name  Flags
      clazz       
      intfMethod  

  public static java.lang.reflect.Method getImplementedInterfaceMethod(java.lang.Class<?>, java.lang.Class<?>, java.lang.reflect.Method);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.lang.Class root
        start local 1 // java.lang.Class iface
        start local 2 // java.lang.reflect.Method implementation
         0: .line 215
            aload 0 /* root */
            aload 1 /* iface */
            aload 2 /* implementation */
            invokestatic org.jboss.resteasy.util.Types.findOverriddenMethod:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            astore 3 /* overriddenInterfaceMethod */
        start local 3 // java.lang.reflect.Method overriddenInterfaceMethod
         1: .line 216
            aload 3 /* overriddenInterfaceMethod */
            ifnull 3
         2: .line 217
            aload 3 /* overriddenInterfaceMethod */
            areturn
         3: .line 220
      StackMap locals: java.lang.reflect.Method
      StackMap stack:
            aload 1 /* iface */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: java.lang.Class java.lang.Class java.lang.reflect.Method java.lang.reflect.Method top int int java.lang.Class[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* extended */
        start local 4 // java.lang.Class extended
         5: .line 221
            aload 0 /* root */
            aload 4 /* extended */
            aload 2 /* implementation */
            invokestatic org.jboss.resteasy.util.Types.getImplementedInterfaceMethod:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            astore 3 /* overriddenInterfaceMethod */
         6: .line 223
            aload 3 /* overriddenInterfaceMethod */
            ifnull 8
         7: .line 224
            aload 3 /* overriddenInterfaceMethod */
            areturn
        end local 4 // java.lang.Class extended
         8: .line 220
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 4
        10: .line 228
            aconst_null
            areturn
        end local 3 // java.lang.reflect.Method overriddenInterfaceMethod
        end local 2 // java.lang.reflect.Method implementation
        end local 1 // java.lang.Class iface
        end local 0 // java.lang.Class root
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   11     0                       root  Ljava/lang/Class<*>;
            0   11     1                      iface  Ljava/lang/Class<*>;
            0   11     2             implementation  Ljava/lang/reflect/Method;
            1   11     3  overriddenInterfaceMethod  Ljava/lang/reflect/Method;
            5    8     4                   extended  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
    MethodParameters:
                Name  Flags
      root            final
      iface           final
      implementation  final

  public static java.lang.reflect.Method findOverriddenMethod(java.lang.Class<?>, java.lang.Class<?>, java.lang.reflect.Method);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // java.lang.Class root
        start local 1 // java.lang.Class superClass
        start local 2 // java.lang.reflect.Method implementation
         0: .line 244
            aload 1 /* superClass */
            aload 2 /* implementation */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 2 /* implementation */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* method */
        start local 3 // java.lang.reflect.Method method
         1: .line 245
            aload 3 /* method */
         2: areturn
        end local 3 // java.lang.reflect.Method method
         3: .line 247
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         4: .line 253
            aload 0 /* root */
            aload 1 /* superClass */
            invokestatic org.jboss.resteasy.util.Types.populateParameterizedMap:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Map;
            astore 3 /* genericTypeMap */
        start local 3 // java.util.Map genericTypeMap
         5: .line 255
            aload 1 /* superClass */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 15
      StackMap locals: java.lang.Class java.lang.Class java.lang.reflect.Method java.util.Map top int int java.lang.reflect.Method[]
      StackMap stack:
         6: aload 7
            iload 5
            aaload
            astore 4 /* superClassMethod */
        start local 4 // java.lang.reflect.Method superClassMethod
         7: .line 257
            aload 4 /* superClassMethod */
            invokevirtual java.lang.reflect.Method.isSynthetic:()Z
            ifeq 9
         8: .line 259
            goto 14
         9: .line 261
      StackMap locals: java.lang.Class java.lang.Class java.lang.reflect.Method java.util.Map java.lang.reflect.Method int int java.lang.reflect.Method[]
      StackMap stack:
            aload 2 /* implementation */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 4 /* superClassMethod */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
            aload 2 /* implementation */
            invokevirtual java.lang.reflect.Method.getParameterCount:()I
            aload 4 /* superClassMethod */
            invokevirtual java.lang.reflect.Method.getParameterCount:()I
            if_icmpeq 11
        10: .line 263
            goto 14
        11: .line 266
      StackMap locals:
      StackMap stack:
            aload 3 /* genericTypeMap */
            aload 4 /* superClassMethod */
            invokevirtual java.lang.reflect.Method.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
            invokestatic org.jboss.resteasy.util.Types.extractTypeVariables:(Ljava/util/Map;[Ljava/lang/reflect/Type;)[Ljava/lang/reflect/Type;
            astore 8 /* actualMethodParameters */
        start local 8 // java.lang.reflect.Type[] actualMethodParameters
        12: .line 267
            aload 2 /* implementation */
            invokevirtual java.lang.reflect.Method.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
            aload 8 /* actualMethodParameters */
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 14
        13: .line 269
            aload 4 /* superClassMethod */
            areturn
        end local 8 // java.lang.reflect.Type[] actualMethodParameters
        end local 4 // java.lang.reflect.Method superClassMethod
        14: .line 255
      StackMap locals: java.lang.Class java.lang.Class java.lang.reflect.Method java.util.Map top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        15: iload 5
            iload 6
            if_icmplt 6
        16: .line 273
            aconst_null
            areturn
        end local 3 // java.util.Map genericTypeMap
        end local 2 // java.lang.reflect.Method implementation
        end local 1 // java.lang.Class superClass
        end local 0 // java.lang.Class root
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   17     0                    root  Ljava/lang/Class<*>;
            0   17     1              superClass  Ljava/lang/Class<*>;
            0   17     2          implementation  Ljava/lang/reflect/Method;
            1    3     3                  method  Ljava/lang/reflect/Method;
            5   17     3          genericTypeMap  Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;
            7   14     4        superClassMethod  Ljava/lang/reflect/Method;
           12   14     8  actualMethodParameters  [Ljava/lang/reflect/Type;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
    MethodParameters:
                Name  Flags
      root            final
      superClass      final
      implementation  final

  public static java.lang.Class<?> getRawType(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.reflect.Type type
         0: .line 278
            aload 0 /* type */
            instanceof java.lang.Class
            ifeq 2
         1: .line 281
            aload 0 /* type */
            checkcast java.lang.Class
            areturn
         2: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 6
         3: .line 286
            aload 0 /* type */
            checkcast java.lang.reflect.ParameterizedType
            astore 1 /* parameterizedType */
        start local 1 // java.lang.reflect.ParameterizedType parameterizedType
         4: .line 287
            aload 1 /* parameterizedType */
            invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
            astore 2 /* rawType */
        start local 2 // java.lang.reflect.Type rawType
         5: .line 288
            aload 2 /* rawType */
            checkcast java.lang.Class
            areturn
        end local 2 // java.lang.reflect.Type rawType
        end local 1 // java.lang.reflect.ParameterizedType parameterizedType
         6: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            instanceof java.lang.reflect.GenericArrayType
            ifeq 10
         7: .line 292
            aload 0 /* type */
            checkcast java.lang.reflect.GenericArrayType
            astore 1 /* genericArrayType */
        start local 1 // java.lang.reflect.GenericArrayType genericArrayType
         8: .line 293
            aload 1 /* genericArrayType */
            invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
            invokestatic org.jboss.resteasy.util.Types.getRawType:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            astore 2 /* componentRawType */
        start local 2 // java.lang.Class componentRawType
         9: .line 294
            aload 2 /* componentRawType */
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            areturn
        end local 2 // java.lang.Class componentRawType
        end local 1 // java.lang.reflect.GenericArrayType genericArrayType
        10: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            instanceof java.lang.reflect.TypeVariable
            ifeq 14
        11: .line 298
            aload 0 /* type */
            checkcast java.lang.reflect.TypeVariable
            astore 1 /* typeVar */
        start local 1 // java.lang.reflect.TypeVariable typeVar
        12: .line 299
            aload 1 /* typeVar */
            invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
            ifnull 19
            aload 1 /* typeVar */
            invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
            arraylength
            ifle 19
        13: .line 301
            aload 1 /* typeVar */
            invokeinterface java.lang.reflect.TypeVariable.getBounds:()[Ljava/lang/reflect/Type;
            iconst_0
            aaload
            invokestatic org.jboss.resteasy.util.Types.getRawType:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.reflect.TypeVariable typeVar
        14: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            instanceof java.lang.reflect.WildcardType
            ifeq 19
        15: .line 306
            aload 0 /* type */
            checkcast java.lang.reflect.WildcardType
            astore 1 /* wildcardType */
        start local 1 // java.lang.reflect.WildcardType wildcardType
        16: .line 307
            aload 1 /* wildcardType */
            invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
            astore 2 /* upperBounds */
        start local 2 // java.lang.reflect.Type[] upperBounds
        17: .line 308
            aload 2 /* upperBounds */
            ifnull 19
            aload 2 /* upperBounds */
            arraylength
            ifle 19
        18: .line 310
            aload 2 /* upperBounds */
            iconst_0
            aaload
            invokestatic org.jboss.resteasy.util.Types.getRawType:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            areturn
        end local 2 // java.lang.reflect.Type[] upperBounds
        end local 1 // java.lang.reflect.WildcardType wildcardType
        19: .line 313
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.MESSAGES:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/Messages;
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.unableToDetermineBaseClass:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.reflect.Type type
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               type  Ljava/lang/reflect/Type;
            4    6     1  parameterizedType  Ljava/lang/reflect/ParameterizedType;
            5    6     2            rawType  Ljava/lang/reflect/Type;
            8   10     1   genericArrayType  Ljava/lang/reflect/GenericArrayType;
            9   10     2   componentRawType  Ljava/lang/Class<*>;
           12   14     1            typeVar  Ljava/lang/reflect/TypeVariable;
           16   19     1       wildcardType  Ljava/lang/reflect/WildcardType;
           17   19     2        upperBounds  [Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/reflect/Type;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      type  

  public static java.lang.Class<?> getRawTypeNoException(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.reflect.Type type
         0: .line 319
            aload 0 /* type */
            instanceof java.lang.Class
            ifeq 2
         1: .line 322
            aload 0 /* type */
            checkcast java.lang.Class
            areturn
         2: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 6
         3: .line 327
            aload 0 /* type */
            checkcast java.lang.reflect.ParameterizedType
            astore 1 /* parameterizedType */
        start local 1 // java.lang.reflect.ParameterizedType parameterizedType
         4: .line 328
            aload 1 /* parameterizedType */
            invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
            astore 2 /* rawType */
        start local 2 // java.lang.reflect.Type rawType
         5: .line 329
            aload 2 /* rawType */
            checkcast java.lang.Class
            areturn
        end local 2 // java.lang.reflect.Type rawType
        end local 1 // java.lang.reflect.ParameterizedType parameterizedType
         6: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            instanceof java.lang.reflect.GenericArrayType
            ifeq 10
         7: .line 333
            aload 0 /* type */
            checkcast java.lang.reflect.GenericArrayType
            astore 1 /* genericArrayType */
        start local 1 // java.lang.reflect.GenericArrayType genericArrayType
         8: .line 334
            aload 1 /* genericArrayType */
            invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
            invokestatic org.jboss.resteasy.util.Types.getRawType:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            astore 2 /* componentRawType */
        start local 2 // java.lang.Class componentRawType
         9: .line 335
            aload 2 /* componentRawType */
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            areturn
        end local 2 // java.lang.Class componentRawType
        end local 1 // java.lang.reflect.GenericArrayType genericArrayType
        10: .line 337
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.reflect.Type type
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               type  Ljava/lang/reflect/Type;
            4    6     1  parameterizedType  Ljava/lang/reflect/ParameterizedType;
            5    6     2            rawType  Ljava/lang/reflect/Type;
            8   10     1   genericArrayType  Ljava/lang/reflect/GenericArrayType;
            9   10     2   componentRawType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/reflect/Type;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      type  

  public static java.lang.Class<?> getTypeArgument(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.reflect.Type genericType
         0: .line 348
            aload 0 /* genericType */
            instanceof java.lang.reflect.ParameterizedType
            ifne 1
            aconst_null
            areturn
         1: .line 349
      StackMap locals:
      StackMap stack:
            aload 0 /* genericType */
            checkcast java.lang.reflect.ParameterizedType
            astore 1 /* parameterizedType */
        start local 1 // java.lang.reflect.ParameterizedType parameterizedType
         2: .line 350
            aload 1 /* parameterizedType */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            iconst_0
            aaload
            checkcast java.lang.Class
            astore 2 /* typeArg */
        start local 2 // java.lang.Class typeArg
         3: .line 351
            aload 2 /* typeArg */
            areturn
        end local 2 // java.lang.Class typeArg
        end local 1 // java.lang.reflect.ParameterizedType parameterizedType
        end local 0 // java.lang.reflect.Type genericType
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0        genericType  Ljava/lang/reflect/Type;
            2    4     1  parameterizedType  Ljava/lang/reflect/ParameterizedType;
            3    4     2            typeArg  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/reflect/Type;)Ljava/lang/Class<*>;
    MethodParameters:
             Name  Flags
      genericType  

  public static java.lang.Class getCollectionBaseType(java.lang.Class, java.lang.reflect.Type);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Type;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.Class type
        start local 1 // java.lang.reflect.Type genericType
         0: .line 357
            aload 1 /* genericType */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 4
         1: .line 359
            aload 1 /* genericType */
            checkcast java.lang.reflect.ParameterizedType
            astore 2 /* parameterizedType */
        start local 2 // java.lang.reflect.ParameterizedType parameterizedType
         2: .line 360
            aload 2 /* parameterizedType */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            iconst_0
            aaload
            astore 3 /* componentGenericType */
        start local 3 // java.lang.reflect.Type componentGenericType
         3: .line 361
            aload 3 /* componentGenericType */
            invokestatic org.jboss.resteasy.util.Types.getRawType:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            areturn
        end local 3 // java.lang.reflect.Type componentGenericType
        end local 2 // java.lang.reflect.ParameterizedType parameterizedType
         4: .line 363
      StackMap locals:
      StackMap stack:
            aload 1 /* genericType */
            instanceof java.lang.reflect.GenericArrayType
            ifeq 8
         5: .line 365
            aload 1 /* genericType */
            checkcast java.lang.reflect.GenericArrayType
            astore 2 /* genericArrayType */
        start local 2 // java.lang.reflect.GenericArrayType genericArrayType
         6: .line 366
            aload 2 /* genericArrayType */
            invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
            astore 3 /* componentGenericType */
        start local 3 // java.lang.reflect.Type componentGenericType
         7: .line 367
            aload 3 /* componentGenericType */
            invokestatic org.jboss.resteasy.util.Types.getRawType:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            areturn
        end local 3 // java.lang.reflect.Type componentGenericType
        end local 2 // java.lang.reflect.GenericArrayType genericArrayType
         8: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 10
         9: .line 371
            aload 0 /* type */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            areturn
        10: .line 373
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.reflect.Type genericType
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0                  type  Ljava/lang/Class;
            0   11     1           genericType  Ljava/lang/reflect/Type;
            2    4     2     parameterizedType  Ljava/lang/reflect/ParameterizedType;
            3    4     3  componentGenericType  Ljava/lang/reflect/Type;
            6    8     2      genericArrayType  Ljava/lang/reflect/GenericArrayType;
            7    8     3  componentGenericType  Ljava/lang/reflect/Type;
    MethodParameters:
             Name  Flags
      type         
      genericType  

  public static java.lang.Class getMapKeyType(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.reflect.Type genericType
         0: .line 379
            aload 0 /* genericType */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 4
         1: .line 381
            aload 0 /* genericType */
            checkcast java.lang.reflect.ParameterizedType
            astore 1 /* parameterizedType */
        start local 1 // java.lang.reflect.ParameterizedType parameterizedType
         2: .line 382
            aload 1 /* parameterizedType */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            iconst_0
            aaload
            astore 2 /* componentGenericType */
        start local 2 // java.lang.reflect.Type componentGenericType
         3: .line 383
            aload 2 /* componentGenericType */
            invokestatic org.jboss.resteasy.util.Types.getRawType:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            areturn
        end local 2 // java.lang.reflect.Type componentGenericType
        end local 1 // java.lang.reflect.ParameterizedType parameterizedType
         4: .line 385
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.reflect.Type genericType
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0           genericType  Ljava/lang/reflect/Type;
            2    4     1     parameterizedType  Ljava/lang/reflect/ParameterizedType;
            3    4     2  componentGenericType  Ljava/lang/reflect/Type;
    MethodParameters:
             Name  Flags
      genericType  

  public static java.lang.Class getMapValueType(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.reflect.Type genericType
         0: .line 390
            aload 0 /* genericType */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 4
         1: .line 392
            aload 0 /* genericType */
            checkcast java.lang.reflect.ParameterizedType
            astore 1 /* parameterizedType */
        start local 1 // java.lang.reflect.ParameterizedType parameterizedType
         2: .line 393
            aload 1 /* parameterizedType */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            iconst_1
            aaload
            astore 2 /* componentGenericType */
        start local 2 // java.lang.reflect.Type componentGenericType
         3: .line 394
            aload 2 /* componentGenericType */
            invokestatic org.jboss.resteasy.util.Types.getRawType:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            areturn
        end local 2 // java.lang.reflect.Type componentGenericType
        end local 1 // java.lang.reflect.ParameterizedType parameterizedType
         4: .line 396
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.reflect.Type genericType
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0           genericType  Ljava/lang/reflect/Type;
            2    4     1     parameterizedType  Ljava/lang/reflect/ParameterizedType;
            3    4     2  componentGenericType  Ljava/lang/reflect/Type;
    MethodParameters:
             Name  Flags
      genericType  

  public static java.lang.reflect.Type resolveTypeVariables(java.lang.Class<?>, java.lang.reflect.Type);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.Class root
        start local 1 // java.lang.reflect.Type type
         0: .line 401
            aload 1 /* type */
            instanceof java.lang.reflect.TypeVariable
            ifeq 5
         1: .line 403
            aload 0 /* root */
            aload 1 /* type */
            checkcast java.lang.reflect.TypeVariable
            invokestatic org.jboss.resteasy.util.Types.resolveTypeVariable:(Ljava/lang/Class;Ljava/lang/reflect/TypeVariable;)Ljava/lang/reflect/Type;
            astore 2 /* newType */
        start local 2 // java.lang.reflect.Type newType
         2: .line 404
            aload 2 /* newType */
            ifnonnull 3
            aload 1 /* type */
            goto 4
      StackMap locals: java.lang.reflect.Type
      StackMap stack:
         3: aload 2 /* newType */
      StackMap locals:
      StackMap stack: java.lang.reflect.Type
         4: areturn
        end local 2 // java.lang.reflect.Type newType
         5: .line 406
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 17
         6: .line 408
            aload 1 /* type */
            checkcast java.lang.reflect.ParameterizedType
            astore 2 /* param */
        start local 2 // java.lang.reflect.ParameterizedType param
         7: .line 409
            aload 2 /* param */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            arraylength
            anewarray java.lang.reflect.Type
            astore 3 /* actuals */
        start local 3 // java.lang.reflect.Type[] actuals
         8: .line 410
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 15
        10: .line 412
      StackMap locals: java.lang.reflect.ParameterizedType java.lang.reflect.Type[] int
      StackMap stack:
            aload 0 /* root */
            aload 2 /* param */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            iload 4 /* i */
            aaload
            invokestatic org.jboss.resteasy.util.Types.resolveTypeVariables:(Ljava/lang/Class;Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
            astore 5 /* newType */
        start local 5 // java.lang.reflect.Type newType
        11: .line 413
            aload 3 /* actuals */
            iload 4 /* i */
            aload 5 /* newType */
            ifnonnull 12
            aload 2 /* param */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            iload 4 /* i */
            aaload
            goto 13
      StackMap locals: java.lang.Class java.lang.reflect.Type java.lang.reflect.ParameterizedType java.lang.reflect.Type[] int java.lang.reflect.Type
      StackMap stack: java.lang.reflect.Type[] int
        12: aload 5 /* newType */
      StackMap locals: java.lang.Class java.lang.reflect.Type java.lang.reflect.ParameterizedType java.lang.reflect.Type[] int java.lang.reflect.Type
      StackMap stack: java.lang.reflect.Type[] int java.lang.reflect.Type
        13: aastore
        end local 5 // java.lang.reflect.Type newType
        14: .line 410
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            aload 3 /* actuals */
            arraylength
            if_icmplt 10
        end local 4 // int i
        16: .line 415
            new org.jboss.resteasy.util.Types$1
            dup
            aload 3 /* actuals */
            aload 2 /* param */
            invokespecial org.jboss.resteasy.util.Types$1.<init>:([Ljava/lang/reflect/Type;Ljava/lang/reflect/ParameterizedType;)V
            areturn
        end local 3 // java.lang.reflect.Type[] actuals
        end local 2 // java.lang.reflect.ParameterizedType param
        17: .line 435
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            instanceof java.lang.reflect.GenericArrayType
            ifeq 22
        18: .line 437
            aload 1 /* type */
            checkcast java.lang.reflect.GenericArrayType
            astore 2 /* arrayType */
        start local 2 // java.lang.reflect.GenericArrayType arrayType
        19: .line 438
            aload 0 /* root */
            aload 2 /* arrayType */
            invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
            invokestatic org.jboss.resteasy.util.Types.resolveTypeVariables:(Ljava/lang/Class;Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
            astore 3 /* componentType */
        start local 3 // java.lang.reflect.Type componentType
        20: .line 439
            aload 3 /* componentType */
            ifnonnull 21
            aload 1 /* type */
            areturn
        21: .line 440
      StackMap locals: java.lang.reflect.GenericArrayType java.lang.reflect.Type
      StackMap stack:
            new org.jboss.resteasy.util.Types$2
            dup
            aload 3 /* componentType */
            invokespecial org.jboss.resteasy.util.Types$2.<init>:(Ljava/lang/reflect/Type;)V
            areturn
        end local 3 // java.lang.reflect.Type componentType
        end local 2 // java.lang.reflect.GenericArrayType arrayType
        22: .line 451
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            areturn
        end local 1 // java.lang.reflect.Type type
        end local 0 // java.lang.Class root
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           root  Ljava/lang/Class<*>;
            0   23     1           type  Ljava/lang/reflect/Type;
            2    5     2        newType  Ljava/lang/reflect/Type;
            7   17     2          param  Ljava/lang/reflect/ParameterizedType;
            8   17     3        actuals  [Ljava/lang/reflect/Type;
            9   16     4              i  I
           11   14     5        newType  Ljava/lang/reflect/Type;
           19   22     2      arrayType  Ljava/lang/reflect/GenericArrayType;
           20   22     3  componentType  Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
    MethodParameters:
      Name  Flags
      root  
      type  

  public static java.lang.reflect.Type resolveTypeVariable(java.lang.Class<?>, java.lang.reflect.TypeVariable<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/TypeVariable;)Ljava/lang/reflect/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.Class root
        start local 1 // java.lang.reflect.TypeVariable typeVariable
         0: .line 466
            aload 1 /* typeVariable */
            invokeinterface java.lang.reflect.TypeVariable.getGenericDeclaration:()Ljava/lang/reflect/GenericDeclaration;
            instanceof java.lang.Class
            ifeq 11
         1: .line 468
            aload 1 /* typeVariable */
            invokeinterface java.lang.reflect.TypeVariable.getGenericDeclaration:()Ljava/lang/reflect/GenericDeclaration;
            checkcast java.lang.Class
            astore 2 /* classDeclaringTypeVariable */
        start local 2 // java.lang.Class classDeclaringTypeVariable
         2: .line 469
            aload 0 /* root */
            aload 2 /* classDeclaringTypeVariable */
            invokestatic org.jboss.resteasy.util.Types.findParameterizedTypes:(Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            astore 3 /* types */
        start local 3 // java.lang.reflect.Type[] types
         3: .line 470
            aload 3 /* types */
            ifnonnull 4
            aconst_null
            areturn
         4: .line 471
      StackMap locals: java.lang.Class java.lang.reflect.Type[]
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 10
         6: .line 473
      StackMap locals: int
      StackMap stack:
            aload 2 /* classDeclaringTypeVariable */
            invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            iload 4 /* i */
            aaload
            astore 5 /* tv */
        start local 5 // java.lang.reflect.TypeVariable tv
         7: .line 474
            aload 5 /* tv */
            aload 1 /* typeVariable */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 476
            aload 3 /* types */
            iload 4 /* i */
            aaload
            areturn
        end local 5 // java.lang.reflect.TypeVariable tv
         9: .line 471
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 3 /* types */
            arraylength
            if_icmplt 6
        end local 4 // int i
        end local 3 // java.lang.reflect.Type[] types
        end local 2 // java.lang.Class classDeclaringTypeVariable
        11: .line 480
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.reflect.TypeVariable typeVariable
        end local 0 // java.lang.Class root
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   12     0                        root  Ljava/lang/Class<*>;
            0   12     1                typeVariable  Ljava/lang/reflect/TypeVariable<*>;
            2   11     2  classDeclaringTypeVariable  Ljava/lang/Class<*>;
            3   11     3                       types  [Ljava/lang/reflect/Type;
            5   11     4                           i  I
            7    9     5                          tv  Ljava/lang/reflect/TypeVariable<*>;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/TypeVariable<*>;)Ljava/lang/reflect/Type;
    MethodParameters:
              Name  Flags
      root          
      typeVariable  

  public static java.lang.reflect.Type[] getActualTypeArgumentsOfAnInterface(java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Class classToSearch
        start local 1 // java.lang.Class interfaceToFind
         0: .line 493
            aload 0 /* classToSearch */
            aload 1 /* interfaceToFind */
            invokestatic org.jboss.resteasy.util.Types.findParameterizedTypes:(Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            astore 2 /* types */
        start local 2 // java.lang.reflect.Type[] types
         1: .line 494
            aload 2 /* types */
            ifnonnull 2
            new java.lang.RuntimeException
            dup
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.MESSAGES:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/Messages;
            aload 1 /* interfaceToFind */
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.unableToFindTypeArguments:(Ljava/lang/Class;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 495
      StackMap locals: java.lang.reflect.Type[]
      StackMap stack:
            aload 2 /* types */
            areturn
        end local 2 // java.lang.reflect.Type[] types
        end local 1 // java.lang.Class interfaceToFind
        end local 0 // java.lang.Class classToSearch
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0    classToSearch  Ljava/lang/Class<*>;
            0    3     1  interfaceToFind  Ljava/lang/Class<*>;
            1    3     2            types  [Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)[Ljava/lang/reflect/Type;
    MethodParameters:
                 Name  Flags
      classToSearch    
      interfaceToFind  

  public static java.lang.reflect.Type[] findParameterizedTypes(java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class root
        start local 1 // java.lang.Class searchedFor
         0: .line 510
            aload 1 /* searchedFor */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 2
         1: .line 512
            aload 0 /* root */
            aconst_null
            aload 1 /* searchedFor */
            invokestatic org.jboss.resteasy.util.Types.findInterfaceParameterizedTypes:(Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            areturn
         2: .line 514
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            aconst_null
            aload 1 /* searchedFor */
            invokestatic org.jboss.resteasy.util.Types.findClassParameterizedTypes:(Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            areturn
        end local 1 // java.lang.Class searchedFor
        end local 0 // java.lang.Class root
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         root  Ljava/lang/Class<*>;
            0    3     1  searchedFor  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)[Ljava/lang/reflect/Type;
    MethodParameters:
             Name  Flags
      root         
      searchedFor  

  public static java.lang.reflect.Type[] findClassParameterizedTypes(java.lang.Class<?>, java.lang.reflect.ParameterizedType, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.lang.Class root
        start local 1 // java.lang.reflect.ParameterizedType rootType
        start local 2 // java.lang.Class searchedForClass
         0: .line 519
            ldc Ljava/lang/Object;
            aload 0 /* root */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aconst_null
            areturn
         1: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            aload 1 /* rootType */
            invokestatic org.jboss.resteasy.util.Types.populateParameterizedMap:(Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;)Ljava/util/Map;
            astore 3 /* typeVarMap */
        start local 3 // java.util.Map typeVarMap
         2: .line 523
            aload 0 /* root */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 4 /* superclass */
        start local 4 // java.lang.Class superclass
         3: .line 524
            aload 0 /* root */
            invokevirtual java.lang.Class.getGenericSuperclass:()Ljava/lang/reflect/Type;
            astore 5 /* genericSuper */
        start local 5 // java.lang.reflect.Type genericSuper
         4: .line 526
            aload 4 /* superclass */
            aload 2 /* searchedForClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 528
            aload 3 /* typeVarMap */
            aload 5 /* genericSuper */
            invokestatic org.jboss.resteasy.util.Types.extractTypes:(Ljava/util/Map;Ljava/lang/reflect/Type;)[Ljava/lang/reflect/Type;
            areturn
         6: .line 532
      StackMap locals: java.util.Map java.lang.Class java.lang.reflect.Type
      StackMap stack:
            aload 5 /* genericSuper */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 11
         7: .line 534
            aload 5 /* genericSuper */
            checkcast java.lang.reflect.ParameterizedType
            astore 6 /* intfParam */
        start local 6 // java.lang.reflect.ParameterizedType intfParam
         8: .line 535
            aload 4 /* superclass */
            aload 6 /* intfParam */
            aload 2 /* searchedForClass */
            invokestatic org.jboss.resteasy.util.Types.findClassParameterizedTypes:(Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            astore 7 /* types */
        start local 7 // java.lang.reflect.Type[] types
         9: .line 536
            aload 7 /* types */
            ifnull 14
        10: .line 538
            aload 3 /* typeVarMap */
            aload 7 /* types */
            invokestatic org.jboss.resteasy.util.Types.extractTypeVariables:(Ljava/util/Map;[Ljava/lang/reflect/Type;)[Ljava/lang/reflect/Type;
            areturn
        end local 7 // java.lang.reflect.Type[] types
        end local 6 // java.lang.reflect.ParameterizedType intfParam
        11: .line 543
      StackMap locals:
      StackMap stack:
            aload 4 /* superclass */
            aconst_null
            aload 2 /* searchedForClass */
            invokestatic org.jboss.resteasy.util.Types.findClassParameterizedTypes:(Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            astore 6 /* types */
        start local 6 // java.lang.reflect.Type[] types
        12: .line 544
            aload 6 /* types */
            ifnull 14
        13: .line 546
            aload 6 /* types */
            areturn
        end local 6 // java.lang.reflect.Type[] types
        14: .line 549
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // java.lang.reflect.Type genericSuper
        end local 4 // java.lang.Class superclass
        end local 3 // java.util.Map typeVarMap
        end local 2 // java.lang.Class searchedForClass
        end local 1 // java.lang.reflect.ParameterizedType rootType
        end local 0 // java.lang.Class root
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              root  Ljava/lang/Class<*>;
            0   15     1          rootType  Ljava/lang/reflect/ParameterizedType;
            0   15     2  searchedForClass  Ljava/lang/Class<*>;
            2   15     3        typeVarMap  Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;
            3   15     4        superclass  Ljava/lang/Class<*>;
            4   15     5      genericSuper  Ljava/lang/reflect/Type;
            8   11     6         intfParam  Ljava/lang/reflect/ParameterizedType;
            9   11     7             types  [Ljava/lang/reflect/Type;
           12   14     6             types  [Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/ParameterizedType;Ljava/lang/Class<*>;)[Ljava/lang/reflect/Type;
    MethodParameters:
                  Name  Flags
      root              
      rootType          
      searchedForClass  

  private static java.util.Map<java.lang.reflect.TypeVariable<?>, java.lang.reflect.Type> populateParameterizedMap(java.lang.Class<?>, java.lang.reflect.ParameterizedType);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.Class root
        start local 1 // java.lang.reflect.ParameterizedType rootType
         0: .line 554
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* typeVarMap */
        start local 2 // java.util.Map typeVarMap
         1: .line 555
            aload 1 /* rootType */
            ifnull 8
         2: .line 557
            aload 0 /* root */
            invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            astore 3 /* vars */
        start local 3 // java.lang.reflect.TypeVariable[] vars
         3: .line 558
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 560
      StackMap locals: java.util.Map java.lang.reflect.TypeVariable[] int
      StackMap stack:
            aload 2 /* typeVarMap */
            aload 3 /* vars */
            iload 4 /* i */
            aaload
            aload 1 /* rootType */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            iload 4 /* i */
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 558
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 3 /* vars */
            arraylength
            if_icmplt 5
        end local 4 // int i
        end local 3 // java.lang.reflect.TypeVariable[] vars
         8: .line 563
      StackMap locals:
      StackMap stack:
            aload 2 /* typeVarMap */
            areturn
        end local 2 // java.util.Map typeVarMap
        end local 1 // java.lang.reflect.ParameterizedType rootType
        end local 0 // java.lang.Class root
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        root  Ljava/lang/Class<*>;
            0    9     1    rootType  Ljava/lang/reflect/ParameterizedType;
            1    9     2  typeVarMap  Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;
            3    8     3        vars  [Ljava/lang/reflect/TypeVariable;
            4    8     4           i  I
    Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/ParameterizedType;)Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;
    MethodParameters:
          Name  Flags
      root      
      rootType  

  public static java.util.Map<java.lang.reflect.TypeVariable<?>, java.lang.reflect.Type> populateParameterizedMap(java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.Class root
        start local 1 // java.lang.Class superClass
         0: .line 575
            aload 0 /* root */
            aload 1 /* superClass */
            invokestatic org.jboss.resteasy.util.Types.findParameterizedTypes:(Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            astore 2 /* types */
        start local 2 // java.lang.reflect.Type[] types
         1: .line 576
            aload 1 /* superClass */
            invokevirtual java.lang.Class.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            astore 3 /* typeParameters */
        start local 3 // java.lang.reflect.TypeVariable[] typeParameters
         2: .line 578
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* genericTypeMap */
        start local 4 // java.util.Map genericTypeMap
         3: .line 579
            aload 3 /* typeParameters */
            ifnull 13
            aload 2 /* types */
            ifnull 13
         4: .line 581
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: .line 582
            goto 8
         6: .line 584
      StackMap locals: java.lang.Class java.lang.Class java.lang.reflect.Type[] java.lang.reflect.TypeVariable[] java.util.Map int
      StackMap stack:
            aload 4 /* genericTypeMap */
            aload 3 /* typeParameters */
            iload 5 /* i */
            aaload
            aload 2 /* types */
            iload 5 /* i */
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 585
            iinc 5 /* i */ 1
         8: .line 582
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            aload 2 /* types */
            arraylength
            if_icmplt 6
         9: .line 587
            goto 12
        10: .line 589
      StackMap locals:
      StackMap stack:
            aload 4 /* genericTypeMap */
            aload 3 /* typeParameters */
            iload 5 /* i */
            aaload
            aload 3 /* typeParameters */
            iload 5 /* i */
            aaload
            invokeinterface java.lang.reflect.TypeVariable.getGenericDeclaration:()Ljava/lang/reflect/GenericDeclaration;
            checkcast java.lang.reflect.Type
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 590
            iinc 5 /* i */ 1
        12: .line 587
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            aload 3 /* typeParameters */
            arraylength
            if_icmplt 10
        end local 5 // int i
        13: .line 594
      StackMap locals:
      StackMap stack:
            aload 4 /* genericTypeMap */
            areturn
        end local 4 // java.util.Map genericTypeMap
        end local 3 // java.lang.reflect.TypeVariable[] typeParameters
        end local 2 // java.lang.reflect.Type[] types
        end local 1 // java.lang.Class superClass
        end local 0 // java.lang.Class root
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            root  Ljava/lang/Class<*>;
            0   14     1      superClass  Ljava/lang/Class<*>;
            1   14     2           types  [Ljava/lang/reflect/Type;
            2   14     3  typeParameters  [Ljava/lang/reflect/TypeVariable;
            3   14     4  genericTypeMap  Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;
            5   13     5               i  I
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;
    MethodParameters:
            Name  Flags
      root        final
      superClass  final

  public static java.lang.reflect.Type[] findInterfaceParameterizedTypes(java.lang.Class<?>, java.lang.reflect.ParameterizedType, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // java.lang.Class root
        start local 1 // java.lang.reflect.ParameterizedType rootType
        start local 2 // java.lang.Class searchedForInterface
         0: .line 599
            aload 0 /* root */
            aload 1 /* rootType */
            invokestatic org.jboss.resteasy.util.Types.populateParameterizedMap:(Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;)Ljava/util/Map;
            astore 3 /* typeVarMap */
        start local 3 // java.util.Map typeVarMap
         1: .line 601
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 8
         3: .line 603
      StackMap locals: java.util.Map int
      StackMap stack:
            aload 0 /* root */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            iload 4 /* i */
            aaload
            astore 5 /* sub */
        start local 5 // java.lang.Class sub
         4: .line 604
            aload 0 /* root */
            invokevirtual java.lang.Class.getGenericInterfaces:()[Ljava/lang/reflect/Type;
            iload 4 /* i */
            aaload
            astore 6 /* genericSub */
        start local 6 // java.lang.reflect.Type genericSub
         5: .line 605
            aload 5 /* sub */
            aload 2 /* searchedForInterface */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 607
            aload 3 /* typeVarMap */
            aload 6 /* genericSub */
            invokestatic org.jboss.resteasy.util.Types.extractTypes:(Ljava/util/Map;Ljava/lang/reflect/Type;)[Ljava/lang/reflect/Type;
            areturn
        end local 6 // java.lang.reflect.Type genericSub
        end local 5 // java.lang.Class sub
         7: .line 601
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 0 /* root */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            arraylength
            if_icmplt 3
        end local 4 // int i
         9: .line 611
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        10: goto 16
        11: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            invokevirtual java.lang.Class.getGenericInterfaces:()[Ljava/lang/reflect/Type;
            iload 4 /* i */
            aaload
            astore 5 /* genericSub */
        start local 5 // java.lang.reflect.Type genericSub
        12: .line 614
            aload 0 /* root */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            iload 4 /* i */
            aaload
            astore 6 /* sub */
        start local 6 // java.lang.Class sub
        13: .line 616
            aload 2 /* searchedForInterface */
            aload 3 /* typeVarMap */
            aload 5 /* genericSub */
            aload 6 /* sub */
            invokestatic org.jboss.resteasy.util.Types.recurseSuperclassForInterface:(Ljava/lang/Class;Ljava/util/Map;Ljava/lang/reflect/Type;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            astore 7 /* types */
        start local 7 // java.lang.reflect.Type[] types
        14: .line 617
            aload 7 /* types */
            ifnull 15
            aload 7 /* types */
            areturn
        end local 7 // java.lang.reflect.Type[] types
        end local 6 // java.lang.Class sub
        end local 5 // java.lang.reflect.Type genericSub
        15: .line 611
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 0 /* root */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            arraylength
            if_icmplt 11
        end local 4 // int i
        17: .line 619
            aload 0 /* root */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 18
            aconst_null
            areturn
        18: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 4 /* superclass */
        start local 4 // java.lang.Class superclass
        19: .line 622
            aload 0 /* root */
            invokevirtual java.lang.Class.getGenericSuperclass:()Ljava/lang/reflect/Type;
            astore 5 /* genericSuper */
        start local 5 // java.lang.reflect.Type genericSuper
        20: .line 625
            aload 2 /* searchedForInterface */
            aload 3 /* typeVarMap */
            aload 5 /* genericSuper */
            aload 4 /* superclass */
            invokestatic org.jboss.resteasy.util.Types.recurseSuperclassForInterface:(Ljava/lang/Class;Ljava/util/Map;Ljava/lang/reflect/Type;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            areturn
        end local 5 // java.lang.reflect.Type genericSuper
        end local 4 // java.lang.Class superclass
        end local 3 // java.util.Map typeVarMap
        end local 2 // java.lang.Class searchedForInterface
        end local 1 // java.lang.reflect.ParameterizedType rootType
        end local 0 // java.lang.Class root
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   21     0                  root  Ljava/lang/Class<*>;
            0   21     1              rootType  Ljava/lang/reflect/ParameterizedType;
            0   21     2  searchedForInterface  Ljava/lang/Class<*>;
            1   21     3            typeVarMap  Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;
            2    9     4                     i  I
            4    7     5                   sub  Ljava/lang/Class<*>;
            5    7     6            genericSub  Ljava/lang/reflect/Type;
           10   17     4                     i  I
           12   15     5            genericSub  Ljava/lang/reflect/Type;
           13   15     6                   sub  Ljava/lang/Class<*>;
           14   15     7                 types  [Ljava/lang/reflect/Type;
           19   21     4            superclass  Ljava/lang/Class<*>;
           20   21     5          genericSuper  Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/ParameterizedType;Ljava/lang/Class<*>;)[Ljava/lang/reflect/Type;
    MethodParameters:
                      Name  Flags
      root                  
      rootType              
      searchedForInterface  

  private static java.lang.reflect.Type[] recurseSuperclassForInterface(java.lang.Class<?>, java.util.Map<java.lang.reflect.TypeVariable<?>, java.lang.reflect.Type>, java.lang.reflect.Type, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/util/Map;Ljava/lang/reflect/Type;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.lang.Class searchedForInterface
        start local 1 // java.util.Map typeVarMap
        start local 2 // java.lang.reflect.Type genericSub
        start local 3 // java.lang.Class sub
         0: .line 630
            aload 2 /* genericSub */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 5
         1: .line 632
            aload 2 /* genericSub */
            checkcast java.lang.reflect.ParameterizedType
            astore 4 /* intfParam */
        start local 4 // java.lang.reflect.ParameterizedType intfParam
         2: .line 633
            aload 3 /* sub */
            aload 4 /* intfParam */
            aload 0 /* searchedForInterface */
            invokestatic org.jboss.resteasy.util.Types.findInterfaceParameterizedTypes:(Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            astore 5 /* types */
        start local 5 // java.lang.reflect.Type[] types
         3: .line 634
            aload 5 /* types */
            ifnull 8
         4: .line 636
            aload 1 /* typeVarMap */
            aload 5 /* types */
            invokestatic org.jboss.resteasy.util.Types.extractTypeVariables:(Ljava/util/Map;[Ljava/lang/reflect/Type;)[Ljava/lang/reflect/Type;
            areturn
        end local 5 // java.lang.reflect.Type[] types
        end local 4 // java.lang.reflect.ParameterizedType intfParam
         5: .line 641
      StackMap locals:
      StackMap stack:
            aload 3 /* sub */
            aconst_null
            aload 0 /* searchedForInterface */
            invokestatic org.jboss.resteasy.util.Types.findInterfaceParameterizedTypes:(Ljava/lang/Class;Ljava/lang/reflect/ParameterizedType;Ljava/lang/Class;)[Ljava/lang/reflect/Type;
            astore 4 /* types */
        start local 4 // java.lang.reflect.Type[] types
         6: .line 642
            aload 4 /* types */
            ifnull 8
         7: .line 644
            aload 4 /* types */
            areturn
        end local 4 // java.lang.reflect.Type[] types
         8: .line 647
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.Class sub
        end local 2 // java.lang.reflect.Type genericSub
        end local 1 // java.util.Map typeVarMap
        end local 0 // java.lang.Class searchedForInterface
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    9     0  searchedForInterface  Ljava/lang/Class<*>;
            0    9     1            typeVarMap  Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;
            0    9     2            genericSub  Ljava/lang/reflect/Type;
            0    9     3                   sub  Ljava/lang/Class<*>;
            2    5     4             intfParam  Ljava/lang/reflect/ParameterizedType;
            3    5     5                 types  [Ljava/lang/reflect/Type;
            6    8     4                 types  [Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/Class<*>;Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;Ljava/lang/reflect/Type;Ljava/lang/Class<*>;)[Ljava/lang/reflect/Type;
    MethodParameters:
                      Name  Flags
      searchedForInterface  
      typeVarMap            
      genericSub            
      sub                   

  private static java.lang.reflect.Type[] extractTypeVariables(java.util.Map<java.lang.reflect.TypeVariable<?>, java.lang.reflect.Type>, java.lang.reflect.Type[]);
    descriptor: (Ljava/util/Map;[Ljava/lang/reflect/Type;)[Ljava/lang/reflect/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.util.Map typeVarMap
        start local 1 // java.lang.reflect.Type[] types
         0: .line 659
            aload 1 /* types */
            arraylength
            anewarray java.lang.reflect.Type
            astore 2 /* resolvedMethodParameterTypes */
        start local 2 // java.lang.reflect.Type[] resolvedMethodParameterTypes
         1: .line 661
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 9
         3: .line 663
      StackMap locals: java.lang.reflect.Type[] int
      StackMap stack:
            aload 1 /* types */
            iload 3 /* i */
            aaload
            astore 4 /* methodParameterType */
        start local 4 // java.lang.reflect.Type methodParameterType
         4: .line 665
            aload 4 /* methodParameterType */
            instanceof java.lang.reflect.TypeVariable
            ifeq 7
         5: .line 667
            aload 2 /* resolvedMethodParameterTypes */
            iload 3 /* i */
            aload 0 /* typeVarMap */
            aload 4 /* methodParameterType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Type
            aastore
         6: .line 668
            goto 8
         7: .line 671
      StackMap locals: java.lang.reflect.Type
      StackMap stack:
            aload 2 /* resolvedMethodParameterTypes */
            iload 3 /* i */
            aload 4 /* methodParameterType */
            aastore
        end local 4 // java.lang.reflect.Type methodParameterType
         8: .line 661
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* types */
            arraylength
            if_icmplt 3
        end local 3 // int i
        10: .line 675
            aload 2 /* resolvedMethodParameterTypes */
            areturn
        end local 2 // java.lang.reflect.Type[] resolvedMethodParameterTypes
        end local 1 // java.lang.reflect.Type[] types
        end local 0 // java.util.Map typeVarMap
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   11     0                    typeVarMap  Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;
            0   11     1                         types  [Ljava/lang/reflect/Type;
            1   11     2  resolvedMethodParameterTypes  [Ljava/lang/reflect/Type;
            2   10     3                             i  I
            4    8     4           methodParameterType  Ljava/lang/reflect/Type;
    Signature: (Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;[Ljava/lang/reflect/Type;)[Ljava/lang/reflect/Type;
    MethodParameters:
            Name  Flags
      typeVarMap  final
      types       final

  private static java.lang.reflect.Type[] extractTypes(java.util.Map<java.lang.reflect.TypeVariable<?>, java.lang.reflect.Type>, java.lang.reflect.Type);
    descriptor: (Ljava/util/Map;Ljava/lang/reflect/Type;)[Ljava/lang/reflect/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.Map typeVarMap
        start local 1 // java.lang.reflect.Type genericSub
         0: .line 680
            aload 1 /* genericSub */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 5
         1: .line 682
            aload 1 /* genericSub */
            checkcast java.lang.reflect.ParameterizedType
            astore 2 /* param */
        start local 2 // java.lang.reflect.ParameterizedType param
         2: .line 683
            aload 2 /* param */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            astore 3 /* types */
        start local 3 // java.lang.reflect.Type[] types
         3: .line 685
            aload 0 /* typeVarMap */
            aload 3 /* types */
            invokestatic org.jboss.resteasy.util.Types.extractTypeVariables:(Ljava/util/Map;[Ljava/lang/reflect/Type;)[Ljava/lang/reflect/Type;
            astore 4 /* returnTypes */
        start local 4 // java.lang.reflect.Type[] returnTypes
         4: .line 686
            aload 4 /* returnTypes */
            areturn
        end local 4 // java.lang.reflect.Type[] returnTypes
        end local 3 // java.lang.reflect.Type[] types
        end local 2 // java.lang.reflect.ParameterizedType param
         5: .line 690
      StackMap locals:
      StackMap stack:
            getstatic org.jboss.resteasy.util.Types.EMPTY_TYPE_ARRAY:[Ljava/lang/reflect/Type;
            areturn
        end local 1 // java.lang.reflect.Type genericSub
        end local 0 // java.util.Map typeVarMap
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0   typeVarMap  Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;
            0    6     1   genericSub  Ljava/lang/reflect/Type;
            2    5     2        param  Ljava/lang/reflect/ParameterizedType;
            3    5     3        types  [Ljava/lang/reflect/Type;
            4    5     4  returnTypes  [Ljava/lang/reflect/Type;
    Signature: (Ljava/util/Map<Ljava/lang/reflect/TypeVariable<*>;Ljava/lang/reflect/Type;>;Ljava/lang/reflect/Type;)[Ljava/lang/reflect/Type;
    MethodParameters:
            Name  Flags
      typeVarMap  
      genericSub  
}
SourceFile: "Types.java"
NestMembers:
  org.jboss.resteasy.util.Types$1  org.jboss.resteasy.util.Types$2
InnerClasses:
  org.jboss.resteasy.util.Types$1
  org.jboss.resteasy.util.Types$2