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

  public static java.lang.reflect.Constructor pickSingletonConstructor(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=14, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 30
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
            astore 1 /* constructors */
        start local 1 // java.lang.reflect.Constructor[] constructors
         1: .line 33
            iconst_0
            istore 2 /* numParameters */
        start local 2 // int numParameters
         2: .line 34
            aconst_null
            astore 3 /* pick */
        start local 3 // java.lang.reflect.Constructor pick
         3: .line 35
            iconst_0
            istore 4 /* potentialConflict */
        start local 4 // boolean potentialConflict
         4: .line 36
            aload 1 /* constructors */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 25
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int top int int java.lang.reflect.Constructor[]
      StackMap stack:
         5: aload 8
            iload 6
            aaload
            astore 5 /* con */
        start local 5 // java.lang.reflect.Constructor con
         6: .line 38
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifne 8
         7: .line 40
            goto 24
         8: .line 43
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int java.lang.reflect.Constructor int int java.lang.reflect.Constructor[]
      StackMap stack:
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            iload 2 /* numParameters */
            if_icmplt 24
         9: .line 45
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            iload 2 /* numParameters */
            if_icmple 11
        10: .line 46
            iconst_0
            istore 4 /* potentialConflict */
        11: .line 48
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* noContextAnnotation */
        start local 9 // boolean noContextAnnotation
        12: .line 49
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
            ifnull 19
        13: .line 51
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 18
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] int top int int java.lang.annotation.Annotation[][]
      StackMap stack:
        14: aload 13
            iload 11
            aaload
            astore 10 /* ann */
        start local 10 // java.lang.annotation.Annotation[] ann
        15: .line 53
            aload 10 /* ann */
            ldc Ljavax/ws/rs/core/Context;
            invokestatic org.jboss.resteasy.util.FindAnnotation.findAnnotation:([Ljava/lang/annotation/Annotation;Ljava/lang/Class;)Ljava/lang/Object;
            ifnonnull 17
        16: .line 55
            iconst_1
            istore 9 /* noContextAnnotation */
        end local 10 // java.lang.annotation.Annotation[] ann
        17: .line 51
      StackMap locals:
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        18: iload 11
            iload 12
            if_icmplt 14
        19: .line 59
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] int
      StackMap stack:
            iload 9 /* noContextAnnotation */
            ifeq 20
            goto 24
        20: .line 60
      StackMap locals:
      StackMap stack:
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            iload 2 /* numParameters */
            if_icmpne 22
            iload 2 /* numParameters */
            ifeq 22
        21: .line 61
            iconst_1
            istore 4 /* potentialConflict */
        22: .line 63
      StackMap locals:
      StackMap stack:
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            istore 2 /* numParameters */
        23: .line 64
            aload 5 /* con */
            astore 3 /* pick */
        end local 9 // boolean noContextAnnotation
        end local 5 // java.lang.reflect.Constructor con
        24: .line 36
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int top int int java.lang.reflect.Constructor[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        25: iload 6
            iload 7
            if_icmplt 5
        26: .line 68
            iload 4 /* potentialConflict */
            ifeq 28
        27: .line 69
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.LOGGER:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/LogMessages;
            aload 0 /* clazz */
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.ambiguousConstructorsFound:(Ljava/lang/Class;)V
        28: .line 71
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int
      StackMap stack:
            aload 3 /* pick */
            areturn
        end local 4 // boolean potentialConflict
        end local 3 // java.lang.reflect.Constructor pick
        end local 2 // int numParameters
        end local 1 // java.lang.reflect.Constructor[] constructors
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   29     0                clazz  Ljava/lang/Class;
            1   29     1         constructors  [Ljava/lang/reflect/Constructor;
            2   29     2        numParameters  I
            3   29     3                 pick  Ljava/lang/reflect/Constructor;
            4   29     4    potentialConflict  Z
            6   24     5                  con  Ljava/lang/reflect/Constructor;
           12   24     9  noContextAnnotation  Z
           15   17    10                  ann  [Ljava/lang/annotation/Annotation;
    MethodParameters:
       Name  Flags
      clazz  

  public static java.lang.reflect.Constructor pickPerRequestConstructor(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=14, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 84
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
            astore 1 /* constructors */
        start local 1 // java.lang.reflect.Constructor[] constructors
         1: .line 85
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
            pop
         2: .line 88
            iconst_0
            istore 2 /* numParameters */
        start local 2 // int numParameters
         3: .line 89
            aconst_null
            astore 3 /* pick */
        start local 3 // java.lang.reflect.Constructor pick
         4: .line 90
            iconst_0
            istore 4 /* potentialConflict */
        start local 4 // boolean potentialConflict
         5: .line 91
            aload 1 /* constructors */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 26
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int top int int java.lang.reflect.Constructor[]
      StackMap stack:
         6: aload 8
            iload 6
            aaload
            astore 5 /* con */
        start local 5 // java.lang.reflect.Constructor con
         7: .line 93
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifne 9
         8: .line 95
            goto 25
         9: .line 97
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int java.lang.reflect.Constructor int int java.lang.reflect.Constructor[]
      StackMap stack:
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            iload 2 /* numParameters */
            if_icmplt 25
        10: .line 99
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            iload 2 /* numParameters */
            if_icmple 12
        11: .line 100
            iconst_0
            istore 4 /* potentialConflict */
        12: .line 103
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* noContextAnnotation */
        start local 9 // boolean noContextAnnotation
        13: .line 104
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
            ifnull 20
        14: .line 106
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 19
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] int top int int java.lang.annotation.Annotation[][]
      StackMap stack:
        15: aload 13
            iload 11
            aaload
            astore 10 /* ann */
        start local 10 // java.lang.annotation.Annotation[] ann
        16: .line 108
            aload 10 /* ann */
            invokestatic org.jboss.resteasy.util.FindAnnotation.findJaxRSAnnotations:([Ljava/lang/annotation/Annotation;)[Ljava/lang/Class;
            arraylength
            ifne 18
        17: .line 110
            iconst_1
            istore 9 /* noContextAnnotation */
        end local 10 // java.lang.annotation.Annotation[] ann
        18: .line 106
      StackMap locals:
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        19: iload 11
            iload 12
            if_icmplt 15
        20: .line 114
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] int
      StackMap stack:
            iload 9 /* noContextAnnotation */
            ifeq 21
            goto 25
        21: .line 115
      StackMap locals:
      StackMap stack:
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            iload 2 /* numParameters */
            if_icmpne 23
            iload 2 /* numParameters */
            ifeq 23
        22: .line 116
            iconst_1
            istore 4 /* potentialConflict */
        23: .line 118
      StackMap locals:
      StackMap stack:
            aload 5 /* con */
            invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            istore 2 /* numParameters */
        24: .line 119
            aload 5 /* con */
            astore 3 /* pick */
        end local 9 // boolean noContextAnnotation
        end local 5 // java.lang.reflect.Constructor con
        25: .line 91
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int top int int java.lang.reflect.Constructor[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        26: iload 6
            iload 7
            if_icmplt 6
        27: .line 123
            iload 4 /* potentialConflict */
            ifeq 29
        28: .line 124
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.LOGGER:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/LogMessages;
            aload 0 /* clazz */
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.ambiguousConstructorsFound:(Ljava/lang/Class;)V
        29: .line 126
      StackMap locals: java.lang.Class java.lang.reflect.Constructor[] int java.lang.reflect.Constructor int
      StackMap stack:
            aload 3 /* pick */
            areturn
        end local 4 // boolean potentialConflict
        end local 3 // java.lang.reflect.Constructor pick
        end local 2 // int numParameters
        end local 1 // java.lang.reflect.Constructor[] constructors
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   30     0                clazz  Ljava/lang/Class;
            1   30     1         constructors  [Ljava/lang/reflect/Constructor;
            3   30     2        numParameters  I
            4   30     3                 pick  Ljava/lang/reflect/Constructor;
            5   30     4    potentialConflict  Z
            7   25     5                  con  Ljava/lang/reflect/Constructor;
           13   25     9  noContextAnnotation  Z
           16   18    10                  ann  [Ljava/lang/annotation/Annotation;
    MethodParameters:
       Name  Flags
      clazz  
}
SourceFile: "PickConstructor.java"