final class com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor extends com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor
  super_class: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder
{
  private java.util.List<com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr> annotatedConstructors;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilderViaConstructor$Constr;>;

  void <init>(java.lang.Class, java.lang.String[]);
    descriptor: (Ljava/lang/Class;[Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor this
        start local 1 // java.lang.Class targetClass
        start local 2 // java.lang.String[] itemNames
         0: .line 1113
            aload 0 /* this */
            aload 1 /* targetClass */
            aload 2 /* itemNames */
            invokespecial com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder.<init>:(Ljava/lang/Class;[Ljava/lang/String;)V
         1: .line 1114
            return
        end local 2 // java.lang.String[] itemNames
        end local 1 // java.lang.Class targetClass
        end local 0 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilderViaConstructor;
            0    2     1  targetClass  Ljava/lang/Class;
            0    2     2    itemNames  [Ljava/lang/String;
    MethodParameters:
             Name  Flags
      targetClass  
      itemNames    

  java.lang.String applicable(java.lang.reflect.Method[]);
    descriptor: ([Ljava/lang/reflect/Method;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=5, locals=21, args_size=2
        start local 0 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor this
        start local 1 // java.lang.reflect.Method[] getters
         0: .line 1118
            ldc Ljava/beans/ConstructorProperties;
            astore 2 /* propertyNamesClass */
        start local 2 // java.lang.Class propertyNamesClass
         1: .line 1120
            aload 0 /* this */
            invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor.getTargetClass:()Ljava/lang/Class;
            astore 3 /* targetClass */
        start local 3 // java.lang.Class targetClass
         2: .line 1121
            aload 3 /* targetClass */
            invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
            astore 4 /* constrs */
        start local 4 // java.lang.reflect.Constructor[] constrs
         3: .line 1124
            invokestatic com.sun.jmx.mbeanserver.Util.newList:()Ljava/util/List;
            astore 5 /* annotatedConstrList */
        start local 5 // java.util.List annotatedConstrList
         4: .line 1125
            aload 4 /* constrs */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 10
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.Class java.lang.reflect.Constructor[] java.util.List top int int java.lang.reflect.Constructor[]
      StackMap stack:
         5: aload 9
            iload 7
            aaload
            astore 6 /* constr */
        start local 6 // java.lang.reflect.Constructor constr
         6: .line 1126
            aload 6 /* constr */
            invokevirtual java.lang.reflect.Constructor.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 9
         7: .line 1127
            aload 6 /* constr */
            aload 2 /* propertyNamesClass */
            invokevirtual java.lang.reflect.Constructor.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 9
         8: .line 1128
            aload 5 /* annotatedConstrList */
            aload 6 /* constr */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.reflect.Constructor constr
         9: .line 1125
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        10: iload 7
            iload 8
            if_icmplt 5
        11: .line 1131
            aload 5 /* annotatedConstrList */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 13
        12: .line 1132
            ldc "no constructor has @ConstructorProperties annotation"
            areturn
        13: .line 1134
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.Class java.lang.reflect.Constructor[] java.util.List
      StackMap stack:
            aload 0 /* this */
            invokestatic com.sun.jmx.mbeanserver.Util.newList:()Ljava/util/List;
            putfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor.annotatedConstructors:Ljava/util/List;
        14: .line 1140
            invokestatic com.sun.jmx.mbeanserver.Util.newMap:()Ljava/util/Map;
            astore 6 /* getterMap */
        start local 6 // java.util.Map getterMap
        15: .line 1141
            aload 0 /* this */
            invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor.getItemNames:()[Ljava/lang/String;
            astore 7 /* itemNames */
        start local 7 // java.lang.String[] itemNames
        16: .line 1142
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        17: goto 20
        18: .line 1143
      StackMap locals: java.util.Map java.lang.String[] int
      StackMap stack:
            aload 6 /* getterMap */
            aload 7 /* itemNames */
            iload 8 /* i */
            aaload
            iload 8 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 1142
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 8 /* i */
            aload 7 /* itemNames */
            arraylength
            if_icmplt 18
        end local 8 // int i
        21: .line 1154
            invokestatic com.sun.jmx.mbeanserver.Util.newSet:()Ljava/util/Set;
            astore 8 /* getterIndexSets */
        start local 8 // java.util.Set getterIndexSets
        22: .line 1155
            aload 5 /* annotatedConstrList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 78
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set top java.util.Iterator
      StackMap stack:
        23: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Constructor
            astore 9 /* constr */
        start local 9 // java.lang.reflect.Constructor constr
        24: .line 1157
            aload 9 /* constr */
            aload 2 /* propertyNamesClass */
            invokevirtual java.lang.reflect.Constructor.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast java.beans.ConstructorProperties
            invokeinterface java.beans.ConstructorProperties.value:()[Ljava/lang/String;
        25: .line 1156
            astore 11 /* propertyNames */
        start local 11 // java.lang.String[] propertyNames
        26: .line 1159
            aload 9 /* constr */
            invokevirtual java.lang.reflect.Constructor.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
            astore 12 /* paramTypes */
        start local 12 // java.lang.reflect.Type[] paramTypes
        27: .line 1160
            aload 12 /* paramTypes */
            arraylength
            aload 11 /* propertyNames */
            arraylength
            if_icmpeq 33
        28: .line 1162
            new java.lang.StringBuilder
            dup
            ldc "Number of constructor params does not match @ConstructorProperties annotation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 1163
            aload 9 /* constr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        30: .line 1162
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 1161
            astore 13 /* msg */
        start local 13 // java.lang.String msg
        32: .line 1164
            new java.io.InvalidObjectException
            dup
            aload 13 /* msg */
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // java.lang.String msg
        33: .line 1167
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.lang.reflect.Constructor java.util.Iterator java.lang.String[] java.lang.reflect.Type[]
      StackMap stack:
            aload 1 /* getters */
            arraylength
            newarray 10
            astore 13 /* paramIndexes */
        start local 13 // int[] paramIndexes
        34: .line 1168
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        35: goto 38
        36: .line 1169
      StackMap locals: int[] int
      StackMap stack:
            aload 13 /* paramIndexes */
            iload 14 /* i */
            iconst_m1
            iastore
        37: .line 1168
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 14 /* i */
            aload 1 /* getters */
            arraylength
            if_icmplt 36
        end local 14 // int i
        39: .line 1170
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 14 /* present */
        start local 14 // java.util.BitSet present
        40: .line 1172
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        41: goto 69
        42: .line 1173
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.lang.reflect.Constructor java.util.Iterator java.lang.String[] java.lang.reflect.Type[] int[] java.util.BitSet int
      StackMap stack:
            aload 11 /* propertyNames */
            iload 15 /* i */
            aaload
            astore 16 /* propertyName */
        start local 16 // java.lang.String propertyName
        43: .line 1174
            aload 6 /* getterMap */
            aload 16 /* propertyName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 50
        44: .line 1176
            new java.lang.StringBuilder
            dup
            ldc "@ConstructorProperties includes name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 16 /* propertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        45: .line 1177
            ldc " which does not correspond to a property: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 1178
            aload 9 /* constr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        47: .line 1176
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 1175
            astore 17 /* msg */
        start local 17 // java.lang.String msg
        49: .line 1179
            new java.io.InvalidObjectException
            dup
            aload 17 /* msg */
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 17 // java.lang.String msg
        50: .line 1181
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* getterMap */
            aload 16 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 17 /* getterIndex */
        start local 17 // int getterIndex
        51: .line 1182
            aload 13 /* paramIndexes */
            iload 17 /* getterIndex */
            iload 15 /* i */
            iastore
        52: .line 1183
            aload 14 /* present */
            iload 17 /* getterIndex */
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 58
        53: .line 1185
            new java.lang.StringBuilder
            dup
            ldc "@ConstructorProperties contains property "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        54: .line 1186
            aload 16 /* propertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " more than once: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* constr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        55: .line 1185
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        56: .line 1184
            astore 18 /* msg */
        start local 18 // java.lang.String msg
        57: .line 1187
            new java.io.InvalidObjectException
            dup
            aload 18 /* msg */
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 18 // java.lang.String msg
        58: .line 1189
      StackMap locals: int
      StackMap stack:
            aload 14 /* present */
            iload 17 /* getterIndex */
            invokevirtual java.util.BitSet.set:(I)V
        59: .line 1190
            aload 1 /* getters */
            iload 17 /* getterIndex */
            aaload
            astore 18 /* getter */
        start local 18 // java.lang.reflect.Method getter
        60: .line 1191
            aload 18 /* getter */
            invokevirtual java.lang.reflect.Method.getGenericReturnType:()Ljava/lang/reflect/Type;
            astore 19 /* propertyType */
        start local 19 // java.lang.reflect.Type propertyType
        61: .line 1192
            aload 19 /* propertyType */
            aload 12 /* paramTypes */
            iload 15 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 68
        62: .line 1194
            new java.lang.StringBuilder
            dup
            ldc "@ConstructorProperties gives property "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 16 /* propertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        63: .line 1195
            ldc " of type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 19 /* propertyType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " for parameter "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        64: .line 1196
            ldc " of type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* paramTypes */
            iload 15 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* constr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        65: .line 1194
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        66: .line 1193
            astore 20 /* msg */
        start local 20 // java.lang.String msg
        67: .line 1197
            new java.io.InvalidObjectException
            dup
            aload 20 /* msg */
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 20 // java.lang.String msg
        end local 19 // java.lang.reflect.Type propertyType
        end local 18 // java.lang.reflect.Method getter
        end local 17 // int getterIndex
        end local 16 // java.lang.String propertyName
        68: .line 1172
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        69: iload 15 /* i */
            aload 11 /* propertyNames */
            arraylength
            if_icmplt 42
        end local 15 // int i
        70: .line 1201
            aload 8 /* getterIndexSets */
            aload 14 /* present */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 76
        71: .line 1203
            new java.lang.StringBuilder
            dup
            ldc "More than one constructor has a @ConstructorProperties annotation with this set of names: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        72: .line 1205
            aload 11 /* propertyNames */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        73: .line 1203
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        74: .line 1202
            astore 15 /* msg */
        start local 15 // java.lang.String msg
        75: .line 1206
            new java.io.InvalidObjectException
            dup
            aload 15 /* msg */
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 15 // java.lang.String msg
        76: .line 1209
      StackMap locals:
      StackMap stack:
            new com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr
            dup
            aload 9 /* constr */
            aload 13 /* paramIndexes */
            aload 14 /* present */
            invokespecial com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr.<init>:(Ljava/lang/reflect/Constructor;[ILjava/util/BitSet;)V
            astore 15 /* c */
        start local 15 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr c
        77: .line 1210
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor.annotatedConstructors:Ljava/util/List;
            aload 15 /* c */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr c
        end local 14 // java.util.BitSet present
        end local 13 // int[] paramIndexes
        end local 12 // java.lang.reflect.Type[] paramTypes
        end local 11 // java.lang.String[] propertyNames
        end local 9 // java.lang.reflect.Constructor constr
        78: .line 1155
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        79: .line 1228
            aload 8 /* getterIndexSets */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 102
      StackMap locals:
      StackMap stack:
        80: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.BitSet
            astore 9 /* a */
        start local 9 // java.util.BitSet a
        81: .line 1229
            iconst_0
            istore 11 /* seen */
        start local 11 // boolean seen
        82: .line 1230
            aload 8 /* getterIndexSets */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 13
            goto 101
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.util.BitSet java.util.Iterator int top java.util.Iterator
      StackMap stack:
        83: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.BitSet
            astore 12 /* b */
        start local 12 // java.util.BitSet b
        84: .line 1231
            aload 9 /* a */
            aload 12 /* b */
            if_acmpne 86
        85: .line 1232
            iconst_1
            istore 11 /* seen */
            goto 101
        86: .line 1233
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.util.BitSet java.util.Iterator int java.util.BitSet java.util.Iterator
      StackMap stack:
            iload 11 /* seen */
            ifeq 101
        87: .line 1234
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 14 /* u */
        start local 14 // java.util.BitSet u
        88: .line 1235
            aload 14 /* u */
            aload 9 /* a */
            invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
            aload 14 /* u */
            aload 12 /* b */
            invokevirtual java.util.BitSet.or:(Ljava/util/BitSet;)V
        89: .line 1236
            aload 8 /* getterIndexSets */
            aload 14 /* u */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 101
        90: .line 1237
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 15 /* names */
        start local 15 // java.util.Set names
        91: .line 1238
            aload 14 /* u */
            iconst_0
            invokevirtual java.util.BitSet.nextSetBit:(I)I
            istore 16 /* i */
        start local 16 // int i
        92: goto 95
        93: .line 1240
      StackMap locals: java.util.BitSet java.util.Set int
      StackMap stack:
            aload 15 /* names */
            aload 7 /* itemNames */
            iload 16 /* i */
            aaload
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        94: .line 1239
            aload 14 /* u */
            iload 16 /* i */
            iconst_1
            iadd
            invokevirtual java.util.BitSet.nextSetBit:(I)I
            istore 16 /* i */
        95: .line 1238
      StackMap locals:
      StackMap stack:
            iload 16 /* i */
            ifge 93
        end local 16 // int i
        96: .line 1242
            new java.lang.StringBuilder
            dup
            ldc "Constructors with @ConstructorProperties annotation  would be ambiguous for these items: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        97: .line 1244
            aload 15 /* names */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        98: .line 1242
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        99: .line 1241
            astore 16 /* msg */
        start local 16 // java.lang.String msg
       100: .line 1245
            new java.io.InvalidObjectException
            dup
            aload 16 /* msg */
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 16 // java.lang.String msg
        end local 15 // java.util.Set names
        end local 14 // java.util.BitSet u
        end local 12 // java.util.BitSet b
       101: .line 1230
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set java.util.BitSet java.util.Iterator int top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 83
        end local 11 // boolean seen
        end local 9 // java.util.BitSet a
       102: .line 1228
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor java.lang.reflect.Method[] java.lang.Class java.lang.Class java.lang.reflect.Constructor[] java.util.List java.util.Map java.lang.String[] java.util.Set top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 80
       103: .line 1251
            aconst_null
            areturn
        end local 8 // java.util.Set getterIndexSets
        end local 7 // java.lang.String[] itemNames
        end local 6 // java.util.Map getterMap
        end local 5 // java.util.List annotatedConstrList
        end local 4 // java.lang.reflect.Constructor[] constrs
        end local 3 // java.lang.Class targetClass
        end local 2 // java.lang.Class propertyNamesClass
        end local 1 // java.lang.reflect.Method[] getters
        end local 0 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  104     0                 this  Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilderViaConstructor;
            0  104     1              getters  [Ljava/lang/reflect/Method;
            1  104     2   propertyNamesClass  Ljava/lang/Class<Ljava/beans/ConstructorProperties;>;
            2  104     3          targetClass  Ljava/lang/Class;
            3  104     4              constrs  [Ljava/lang/reflect/Constructor;
            4  104     5  annotatedConstrList  Ljava/util/List<Ljava/lang/reflect/Constructor<*>;>;
            6    9     6               constr  Ljava/lang/reflect/Constructor<*>;
           15  104     6            getterMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
           16  104     7            itemNames  [Ljava/lang/String;
           17   21     8                    i  I
           22  104     8      getterIndexSets  Ljava/util/Set<Ljava/util/BitSet;>;
           24   78     9               constr  Ljava/lang/reflect/Constructor<*>;
           26   78    11        propertyNames  [Ljava/lang/String;
           27   78    12           paramTypes  [Ljava/lang/reflect/Type;
           32   33    13                  msg  Ljava/lang/String;
           34   78    13         paramIndexes  [I
           35   39    14                    i  I
           40   78    14              present  Ljava/util/BitSet;
           41   70    15                    i  I
           43   68    16         propertyName  Ljava/lang/String;
           49   50    17                  msg  Ljava/lang/String;
           51   68    17          getterIndex  I
           57   58    18                  msg  Ljava/lang/String;
           60   68    18               getter  Ljava/lang/reflect/Method;
           61   68    19         propertyType  Ljava/lang/reflect/Type;
           67   68    20                  msg  Ljava/lang/String;
           75   76    15                  msg  Ljava/lang/String;
           77   78    15                    c  Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilderViaConstructor$Constr;
           81  102     9                    a  Ljava/util/BitSet;
           82  102    11                 seen  Z
           84  101    12                    b  Ljava/util/BitSet;
           88  101    14                    u  Ljava/util/BitSet;
           91  101    15                names  Ljava/util/Set<Ljava/lang/String;>;
           92   96    16                    i  I
          100  101    16                  msg  Ljava/lang/String;
    Exceptions:
      throws java.io.InvalidObjectException
    MethodParameters:
         Name  Flags
      getters  

  java.lang.Object fromCompositeData(com.sun.jmx.mbeanserver.MXBeanLookup, javax.management.openmbean.CompositeData, java.lang.String[], com.sun.jmx.mbeanserver.OpenConverter[]);
    descriptor: (Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljavax/management/openmbean/CompositeData;[Ljava/lang/String;[Lcom/sun/jmx/mbeanserver/OpenConverter;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=3, locals=13, args_size=5
        start local 0 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor this
        start local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        start local 2 // javax.management.openmbean.CompositeData cd
        start local 3 // java.lang.String[] itemNames
        start local 4 // com.sun.jmx.mbeanserver.OpenConverter[] converters
         0: .line 1263
            aload 2 /* cd */
            invokeinterface javax.management.openmbean.CompositeData.getCompositeType:()Ljavax/management/openmbean/CompositeType;
            astore 5 /* ct */
        start local 5 // javax.management.openmbean.CompositeType ct
         1: .line 1264
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 6 /* present */
        start local 6 // java.util.BitSet present
         2: .line 1265
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         3: goto 7
         4: .line 1266
      StackMap locals: javax.management.openmbean.CompositeType java.util.BitSet int
      StackMap stack:
            aload 5 /* ct */
            aload 3 /* itemNames */
            iload 7 /* i */
            aaload
            invokevirtual javax.management.openmbean.CompositeType.getType:(Ljava/lang/String;)Ljavax/management/openmbean/OpenType;
            ifnull 6
         5: .line 1267
            aload 6 /* present */
            iload 7 /* i */
            invokevirtual java.util.BitSet.set:(I)V
         6: .line 1265
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 7 /* i */
            aload 3 /* itemNames */
            arraylength
            if_icmplt 4
        end local 7 // int i
         8: .line 1270
            aconst_null
            astore 7 /* max */
        start local 7 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr max
         9: .line 1271
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor.annotatedConstructors:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 15
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor com.sun.jmx.mbeanserver.MXBeanLookup javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.OpenConverter[] javax.management.openmbean.CompositeType java.util.BitSet com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr top java.util.Iterator
      StackMap stack:
        10: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr
            astore 8 /* constr */
        start local 8 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr constr
        11: .line 1272
            aload 8 /* constr */
            getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr.presentParams:Ljava/util/BitSet;
            aload 6 /* present */
            invokestatic com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor.subset:(Ljava/util/BitSet;Ljava/util/BitSet;)Z
            ifeq 15
        12: .line 1273
            aload 7 /* max */
            ifnull 14
        13: .line 1274
            aload 7 /* max */
            getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr.presentParams:Ljava/util/BitSet;
            aload 8 /* constr */
            getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr.presentParams:Ljava/util/BitSet;
            invokestatic com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor.subset:(Ljava/util/BitSet;Ljava/util/BitSet;)Z
            ifeq 15
        14: .line 1275
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor com.sun.jmx.mbeanserver.MXBeanLookup javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.OpenConverter[] javax.management.openmbean.CompositeType java.util.BitSet com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr java.util.Iterator
      StackMap stack:
            aload 8 /* constr */
            astore 7 /* max */
        end local 8 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr constr
        15: .line 1271
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor com.sun.jmx.mbeanserver.MXBeanLookup javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.OpenConverter[] javax.management.openmbean.CompositeType java.util.BitSet com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        16: .line 1278
            aload 7 /* max */
            ifnonnull 22
        17: .line 1280
            new java.lang.StringBuilder
            dup
            ldc "No constructor has a @ConstructorProperties for this set of items: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 1281
            aload 5 /* ct */
            invokevirtual javax.management.openmbean.CompositeType.keySet:()Ljava/util/Set;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        19: .line 1280
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 1279
            astore 8 /* msg */
        start local 8 // java.lang.String msg
        21: .line 1282
            new java.io.InvalidObjectException
            dup
            aload 8 /* msg */
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.String msg
        22: .line 1285
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor com.sun.jmx.mbeanserver.MXBeanLookup javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.OpenConverter[] javax.management.openmbean.CompositeType java.util.BitSet com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr
      StackMap stack:
            aload 7 /* max */
            getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr.presentParams:Ljava/util/BitSet;
            invokevirtual java.util.BitSet.cardinality:()I
            anewarray java.lang.Object
            astore 8 /* params */
        start local 8 // java.lang.Object[] params
        23: .line 1286
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        24: goto 33
        25: .line 1287
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 7 /* max */
            getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr.presentParams:Ljava/util/BitSet;
            iload 9 /* i */
            invokevirtual java.util.BitSet.get:(I)Z
            ifne 27
        26: .line 1288
            goto 32
        27: .line 1289
      StackMap locals:
      StackMap stack:
            aload 2 /* cd */
            aload 3 /* itemNames */
            iload 9 /* i */
            aaload
            invokeinterface javax.management.openmbean.CompositeData.get:(Ljava/lang/String;)Ljava/lang/Object;
            astore 10 /* openItem */
        start local 10 // java.lang.Object openItem
        28: .line 1290
            aload 4 /* converters */
            iload 9 /* i */
            aaload
            aload 1 /* lookup */
            aload 10 /* openItem */
            invokevirtual com.sun.jmx.mbeanserver.OpenConverter.fromOpenValue:(Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* javaItem */
        start local 11 // java.lang.Object javaItem
        29: .line 1291
            aload 7 /* max */
            getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr.paramIndexes:[I
            iload 9 /* i */
            iaload
            istore 12 /* index */
        start local 12 // int index
        30: .line 1292
            iload 12 /* index */
            iflt 32
        31: .line 1293
            aload 8 /* params */
            iload 12 /* index */
            aload 11 /* javaItem */
            aastore
        end local 12 // int index
        end local 11 // java.lang.Object javaItem
        end local 10 // java.lang.Object openItem
        32: .line 1286
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 9 /* i */
            aload 3 /* itemNames */
            arraylength
            if_icmplt 25
        end local 9 // int i
        34: .line 1297
            aload 7 /* max */
            getfield com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr.constructor:Ljava/lang/reflect/Constructor;
            aload 8 /* params */
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
        35: areturn
        36: .line 1298
      StackMap locals: com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor com.sun.jmx.mbeanserver.MXBeanLookup javax.management.openmbean.CompositeData java.lang.String[] com.sun.jmx.mbeanserver.OpenConverter[] javax.management.openmbean.CompositeType java.util.BitSet com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr java.lang.Object[]
      StackMap stack: java.lang.Exception
            astore 9 /* e */
        start local 9 // java.lang.Exception e
        37: .line 1300
            new java.lang.StringBuilder
            dup
            ldc "Exception constructing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor.getTargetClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 1299
            astore 10 /* msg */
        start local 10 // java.lang.String msg
        39: .line 1301
            aload 10 /* msg */
            aload 9 /* e */
            invokestatic com.sun.jmx.mbeanserver.OpenConverter.invalidObjectException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/InvalidObjectException;
            athrow
        end local 10 // java.lang.String msg
        end local 9 // java.lang.Exception e
        end local 8 // java.lang.Object[] params
        end local 7 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr max
        end local 6 // java.util.BitSet present
        end local 5 // javax.management.openmbean.CompositeType ct
        end local 4 // com.sun.jmx.mbeanserver.OpenConverter[] converters
        end local 3 // java.lang.String[] itemNames
        end local 2 // javax.management.openmbean.CompositeData cd
        end local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        end local 0 // com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   40     0        this  Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilderViaConstructor;
            0   40     1      lookup  Lcom/sun/jmx/mbeanserver/MXBeanLookup;
            0   40     2          cd  Ljavax/management/openmbean/CompositeData;
            0   40     3   itemNames  [Ljava/lang/String;
            0   40     4  converters  [Lcom/sun/jmx/mbeanserver/OpenConverter;
            1   40     5          ct  Ljavax/management/openmbean/CompositeType;
            2   40     6     present  Ljava/util/BitSet;
            3    8     7           i  I
            9   40     7         max  Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilderViaConstructor$Constr;
           11   15     8      constr  Lcom/sun/jmx/mbeanserver/OpenConverter$CompositeBuilderViaConstructor$Constr;
           21   22     8         msg  Ljava/lang/String;
           23   40     8      params  [Ljava/lang/Object;
           24   34     9           i  I
           28   32    10    openItem  Ljava/lang/Object;
           29   32    11    javaItem  Ljava/lang/Object;
           30   32    12       index  I
           37   40     9           e  Ljava/lang/Exception;
           39   40    10         msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
          34    35      36  Class java.lang.Exception
    Exceptions:
      throws java.io.InvalidObjectException
    MethodParameters:
            Name  Flags
      lookup      
      cd          
      itemNames   
      converters  

  private static boolean subset(java.util.BitSet, java.util.BitSet);
    descriptor: (Ljava/util/BitSet;Ljava/util/BitSet;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.BitSet sub
        start local 1 // java.util.BitSet sup
         0: .line 1306
            aload 0 /* sub */
            invokevirtual java.util.BitSet.clone:()Ljava/lang/Object;
            checkcast java.util.BitSet
            astore 2 /* subcopy */
        start local 2 // java.util.BitSet subcopy
         1: .line 1307
            aload 2 /* subcopy */
            aload 1 /* sup */
            invokevirtual java.util.BitSet.andNot:(Ljava/util/BitSet;)V
         2: .line 1308
            aload 2 /* subcopy */
            invokevirtual java.util.BitSet.isEmpty:()Z
            ireturn
        end local 2 // java.util.BitSet subcopy
        end local 1 // java.util.BitSet sup
        end local 0 // java.util.BitSet sub
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0      sub  Ljava/util/BitSet;
            0    3     1      sup  Ljava/util/BitSet;
            1    3     2  subcopy  Ljava/util/BitSet;
    MethodParameters:
      Name  Flags
      sub   
      sup   
}
SourceFile: "OpenConverter.java"
NestHost: com.sun.jmx.mbeanserver.OpenConverter
InnerClasses:
  private abstract CompositeBuilder = com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilder of com.sun.jmx.mbeanserver.OpenConverter
  private final CompositeBuilderViaConstructor = com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor of com.sun.jmx.mbeanserver.OpenConverter
  private Constr = com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor$Constr of com.sun.jmx.mbeanserver.OpenConverter$CompositeBuilderViaConstructor