public class com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory extends com.sun.jmx.mbeanserver.MXBeanMappingFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  super_class: com.sun.jmx.mbeanserver.MXBeanMappingFactory
{
  private static final com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$Mappings mappings;
    descriptor: Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$Mappings;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.List<com.sun.jmx.mbeanserver.MXBeanMapping> permanentMappings;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Lcom/sun/jmx/mbeanserver/MXBeanMapping;>;

  private static final java.lang.String[] keyArray;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] keyValueArray;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.lang.reflect.Type, java.lang.reflect.Type> inProgress;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=11, args_size=0
         0: .line 122
            ldc Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.$assertionsDisabled:Z
         3: .line 168
            new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$Mappings
            dup
            invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$Mappings.<init>:()V
            putstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappings:Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$Mappings;
         4: .line 172
            invokestatic com.sun.jmx.mbeanserver.Util.newList:()Ljava/util/List;
            putstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.permanentMappings:Ljava/util/List;
         5: .line 194
            bipush 14
            anewarray javax.management.openmbean.OpenType
            dup
            iconst_0
         6: .line 195
            getstatic javax.management.openmbean.SimpleType.BIGDECIMAL:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            iconst_1
            getstatic javax.management.openmbean.SimpleType.BIGINTEGER:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            iconst_2
            getstatic javax.management.openmbean.SimpleType.BOOLEAN:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            iconst_3
            getstatic javax.management.openmbean.SimpleType.BYTE:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            iconst_4
            getstatic javax.management.openmbean.SimpleType.CHARACTER:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            iconst_5
            getstatic javax.management.openmbean.SimpleType.DATE:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            bipush 6
         7: .line 196
            getstatic javax.management.openmbean.SimpleType.DOUBLE:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            bipush 7
            getstatic javax.management.openmbean.SimpleType.FLOAT:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            bipush 8
            getstatic javax.management.openmbean.SimpleType.INTEGER:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            bipush 9
            getstatic javax.management.openmbean.SimpleType.LONG:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            bipush 10
            getstatic javax.management.openmbean.SimpleType.OBJECTNAME:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            bipush 11
            getstatic javax.management.openmbean.SimpleType.SHORT:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            bipush 12
            getstatic javax.management.openmbean.SimpleType.STRING:Ljavax/management/openmbean/SimpleType;
            aastore
            dup
            bipush 13
         8: .line 197
            getstatic javax.management.openmbean.SimpleType.VOID:Ljavax/management/openmbean/SimpleType;
            aastore
         9: .line 194
            astore 0 /* simpleTypes */
        start local 0 // javax.management.openmbean.OpenType[] simpleTypes
        10: .line 200
            iconst_0
            istore 1 /* i */
        start local 1 // int i
        11: goto 44
        12: .line 201
      StackMap locals: javax.management.openmbean.OpenType[] int
      StackMap stack:
            aload 0 /* simpleTypes */
            iload 1 /* i */
            aaload
            astore 2 /* t */
        start local 2 // javax.management.openmbean.OpenType t
        13: .line 204
            aload 2 /* t */
            invokevirtual javax.management.openmbean.OpenType.getClassName:()Ljava/lang/String;
            iconst_0
        14: .line 205
            ldc Ljavax/management/ObjectName;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
        15: .line 204
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* c */
        start local 3 // java.lang.Class c
        16: .line 206
            goto 19
        end local 3 // java.lang.Class c
      StackMap locals: javax.management.openmbean.OpenType[] int javax.management.openmbean.OpenType
      StackMap stack: java.lang.ClassNotFoundException
        17: astore 4 /* e */
        start local 4 // java.lang.ClassNotFoundException e
        18: .line 208
            new java.lang.Error
            dup
            aload 4 /* e */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.ClassNotFoundException e
        start local 3 // java.lang.Class c
        19: .line 210
      StackMap locals: java.lang.Class
      StackMap stack:
            new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$IdentityMapping
            dup
            aload 3 /* c */
            aload 2 /* t */
            invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$IdentityMapping.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/OpenType;)V
            astore 4 /* mapping */
        start local 4 // com.sun.jmx.mbeanserver.MXBeanMapping mapping
        20: .line 211
            aload 3 /* c */
            aload 4 /* mapping */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.putPermanentMapping:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMapping;)V
        21: .line 213
            aload 3 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "java.lang."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 43
        22: .line 215
            aload 3 /* c */
            ldc "TYPE"
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 5 /* typeField */
        start local 5 // java.lang.reflect.Field typeField
        23: .line 216
            aload 5 /* typeField */
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 6 /* primitiveType */
        start local 6 // java.lang.Class primitiveType
        24: .line 218
            new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$IdentityMapping
            dup
            aload 6 /* primitiveType */
            aload 2 /* t */
            invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$IdentityMapping.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/OpenType;)V
        25: .line 217
            astore 7 /* primitiveMapping */
        start local 7 // com.sun.jmx.mbeanserver.MXBeanMapping primitiveMapping
        26: .line 219
            aload 6 /* primitiveType */
            aload 7 /* primitiveMapping */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.putPermanentMapping:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMapping;)V
        27: .line 220
            aload 6 /* primitiveType */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 43
        28: .line 222
            aload 6 /* primitiveType */
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
        29: .line 221
            astore 8 /* primitiveArrayType */
        start local 8 // java.lang.Class primitiveArrayType
        30: .line 224
            aload 8 /* primitiveArrayType */
            invokestatic javax.management.openmbean.ArrayType.getPrimitiveArrayType:(Ljava/lang/Class;)Ljavax/management/openmbean/ArrayType;
        31: .line 223
            astore 9 /* primitiveArrayOpenType */
        start local 9 // javax.management.openmbean.OpenType primitiveArrayOpenType
        32: .line 226
            new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$IdentityMapping
            dup
            aload 8 /* primitiveArrayType */
        33: .line 227
            aload 9 /* primitiveArrayOpenType */
        34: .line 226
            invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$IdentityMapping.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/OpenType;)V
        35: .line 225
            astore 10 /* primitiveArrayMapping */
        start local 10 // com.sun.jmx.mbeanserver.MXBeanMapping primitiveArrayMapping
        36: .line 228
            aload 8 /* primitiveArrayType */
        37: .line 229
            aload 10 /* primitiveArrayMapping */
        38: .line 228
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.putPermanentMapping:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMapping;)V
        end local 10 // com.sun.jmx.mbeanserver.MXBeanMapping primitiveArrayMapping
        end local 9 // javax.management.openmbean.OpenType primitiveArrayOpenType
        end local 8 // java.lang.Class primitiveArrayType
        end local 7 // com.sun.jmx.mbeanserver.MXBeanMapping primitiveMapping
        end local 6 // java.lang.Class primitiveType
        end local 5 // java.lang.reflect.Field typeField
        39: .line 231
            goto 43
      StackMap locals: javax.management.openmbean.OpenType[] int javax.management.openmbean.OpenType java.lang.Class com.sun.jmx.mbeanserver.MXBeanMapping
      StackMap stack: java.lang.NoSuchFieldException
        40: pop
            goto 43
        41: .line 233
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
        42: .line 235
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.$assertionsDisabled:Z
            ifne 43
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 4 // com.sun.jmx.mbeanserver.MXBeanMapping mapping
        end local 3 // java.lang.Class c
        end local 2 // javax.management.openmbean.OpenType t
        43: .line 200
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 1 /* i */
            aload 0 /* simpleTypes */
            arraylength
            if_icmplt 12
        end local 1 // int i
        end local 0 // javax.management.openmbean.OpenType[] simpleTypes
        45: .line 353
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "key"
            aastore
            putstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.keyArray:[Ljava/lang/String;
        46: .line 354
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "key"
            aastore
            dup
            iconst_1
            ldc "value"
            aastore
            putstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.keyValueArray:[Ljava/lang/String;
        47: .line 1519
            invokestatic com.sun.jmx.mbeanserver.Util.newIdentityHashMap:()Ljava/util/IdentityHashMap;
            putstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.inProgress:Ljava/util/Map;
            return
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
           10   45     0             simpleTypes  [Ljavax/management/openmbean/OpenType;
           11   45     1                       i  I
           13   43     2                       t  Ljavax/management/openmbean/OpenType<*>;
           16   17     3                       c  Ljava/lang/Class<*>;
           19   43     3                       c  Ljava/lang/Class<*>;
           18   19     4                       e  Ljava/lang/ClassNotFoundException;
           20   43     4                 mapping  Lcom/sun/jmx/mbeanserver/MXBeanMapping;
           23   39     5               typeField  Ljava/lang/reflect/Field;
           24   39     6           primitiveType  Ljava/lang/Class<*>;
           26   39     7        primitiveMapping  Lcom/sun/jmx/mbeanserver/MXBeanMapping;
           30   39     8      primitiveArrayType  Ljava/lang/Class<*>;
           32   39     9  primitiveArrayOpenType  Ljavax/management/openmbean/OpenType<*>;
           36   39    10   primitiveArrayMapping  Lcom/sun/jmx/mbeanserver/MXBeanMapping;
      Exception table:
        from    to  target  type
          13    16      17  Class java.lang.ClassNotFoundException
          22    39      40  Class java.lang.NoSuchFieldException
          22    39      41  Class java.lang.IllegalAccessException

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
         0: .line 122
            aload 0 /* this */
            invokespecial com.sun.jmx.mbeanserver.MXBeanMappingFactory.<init>:()V
            return
        end local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory;

  static boolean isIdentity(com.sun.jmx.mbeanserver.MXBeanMapping);
    descriptor: (Lcom/sun/jmx/mbeanserver/MXBeanMapping;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.MXBeanMapping mapping
         0: .line 161
            aload 0 /* mapping */
            instanceof com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$NonNullMXBeanMapping
            ifeq 3
         1: .line 162
            aload 0 /* mapping */
            checkcast com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$NonNullMXBeanMapping
            invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$NonNullMXBeanMapping.isIdentity:()Z
            ifeq 3
         2: .line 161
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // com.sun.jmx.mbeanserver.MXBeanMapping mapping
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  mapping  Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    MethodParameters:
         Name  Flags
      mapping  

  private static synchronized com.sun.jmx.mbeanserver.MXBeanMapping getMapping(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.reflect.Type type
         0: .line 175
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappings:Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$Mappings;
            aload 0 /* type */
            invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$Mappings.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.WeakReference
            astore 1 /* wr */
        start local 1 // java.lang.ref.WeakReference wr
         1: .line 176
            aload 1 /* wr */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: java.lang.ref.WeakReference
      StackMap stack:
         2: aload 1 /* wr */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast com.sun.jmx.mbeanserver.MXBeanMapping
      StackMap locals:
      StackMap stack: com.sun.jmx.mbeanserver.MXBeanMapping
         3: areturn
        end local 1 // java.lang.ref.WeakReference wr
        end local 0 // java.lang.reflect.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  type  Ljava/lang/reflect/Type;
            1    4     1    wr  Ljava/lang/ref/WeakReference<Lcom/sun/jmx/mbeanserver/MXBeanMapping;>;
    MethodParameters:
      Name  Flags
      type  

  private static synchronized void putMapping(java.lang.reflect.Type, com.sun.jmx.mbeanserver.MXBeanMapping);
    descriptor: (Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMapping;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.reflect.Type type
        start local 1 // com.sun.jmx.mbeanserver.MXBeanMapping mapping
         0: .line 181
            new java.lang.ref.WeakReference
            dup
            aload 1 /* mapping */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
         1: .line 180
            astore 2 /* wr */
        start local 2 // java.lang.ref.WeakReference wr
         2: .line 182
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mappings:Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory$Mappings;
            aload 0 /* type */
            aload 2 /* wr */
            invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$Mappings.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 183
            return
        end local 2 // java.lang.ref.WeakReference wr
        end local 1 // com.sun.jmx.mbeanserver.MXBeanMapping mapping
        end local 0 // java.lang.reflect.Type type
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     type  Ljava/lang/reflect/Type;
            0    4     1  mapping  Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            2    4     2       wr  Ljava/lang/ref/WeakReference<Lcom/sun/jmx/mbeanserver/MXBeanMapping;>;
    MethodParameters:
         Name  Flags
      type     
      mapping  

  private static synchronized void putPermanentMapping(java.lang.reflect.Type, com.sun.jmx.mbeanserver.MXBeanMapping);
    descriptor: (Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMapping;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.reflect.Type type
        start local 1 // com.sun.jmx.mbeanserver.MXBeanMapping mapping
         0: .line 187
            aload 0 /* type */
            aload 1 /* mapping */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.putMapping:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMapping;)V
         1: .line 188
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.permanentMappings:Ljava/util/List;
            aload 1 /* mapping */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 189
            return
        end local 1 // com.sun.jmx.mbeanserver.MXBeanMapping mapping
        end local 0 // java.lang.reflect.Type type
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     type  Ljava/lang/reflect/Type;
            0    3     1  mapping  Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    MethodParameters:
         Name  Flags
      type     
      mapping  

  public synchronized com.sun.jmx.mbeanserver.MXBeanMapping mappingForType(java.lang.reflect.Type, com.sun.jmx.mbeanserver.MXBeanMappingFactory);
    descriptor: (Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
        start local 1 // java.lang.reflect.Type objType
        start local 2 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
         0: .line 246
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.inProgress:Ljava/util/Map;
            aload 1 /* objType */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 247
            new javax.management.openmbean.OpenDataException
            dup
         2: .line 248
            new java.lang.StringBuilder
            dup
            ldc "Recursive data structure, including "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* objType */
            invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.typeName:(Ljava/lang/reflect/Type;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 247
            invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 253
      StackMap locals:
      StackMap stack:
            aload 1 /* objType */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.getMapping:(Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            astore 3 /* mapping */
        start local 3 // com.sun.jmx.mbeanserver.MXBeanMapping mapping
         5: .line 254
            aload 3 /* mapping */
            ifnull 7
         6: .line 255
            aload 3 /* mapping */
            areturn
         7: .line 257
      StackMap locals: com.sun.jmx.mbeanserver.MXBeanMapping
      StackMap stack:
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.inProgress:Ljava/util/Map;
            aload 1 /* objType */
            aload 1 /* objType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 259
            aload 0 /* this */
            aload 1 /* objType */
            aload 2 /* factory */
            invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeMapping:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            astore 3 /* mapping */
         9: .line 260
            goto 15
      StackMap locals:
      StackMap stack: javax.management.openmbean.OpenDataException
        10: astore 4 /* e */
        start local 4 // javax.management.openmbean.OpenDataException e
        11: .line 261
            new java.lang.StringBuilder
            dup
            ldc "Cannot convert type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* objType */
            invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.typeName:(Ljava/lang/reflect/Type;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.openDataException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/management/openmbean/OpenDataException;
            athrow
        end local 4 // javax.management.openmbean.OpenDataException e
        12: .line 262
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        13: .line 263
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.inProgress:Ljava/util/Map;
            aload 1 /* objType */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 264
            aload 5
            athrow
        15: .line 263
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.inProgress:Ljava/util/Map;
            aload 1 /* objType */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 266
            aload 1 /* objType */
            aload 3 /* mapping */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.putMapping:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMapping;)V
        17: .line 267
            aload 3 /* mapping */
            areturn
        end local 3 // com.sun.jmx.mbeanserver.MXBeanMapping mapping
        end local 2 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
        end local 1 // java.lang.reflect.Type objType
        end local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory;
            0   18     1  objType  Ljava/lang/reflect/Type;
            0   18     2  factory  Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;
            5   18     3  mapping  Lcom/sun/jmx/mbeanserver/MXBeanMapping;
           11   12     4        e  Ljavax/management/openmbean/OpenDataException;
      Exception table:
        from    to  target  type
           8     9      10  Class javax.management.openmbean.OpenDataException
           8    12      12  any
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
         Name  Flags
      objType  
      factory  

  private com.sun.jmx.mbeanserver.MXBeanMapping makeMapping(java.lang.reflect.Type, com.sun.jmx.mbeanserver.MXBeanMappingFactory);
    descriptor: (Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
        start local 1 // java.lang.reflect.Type objType
        start local 2 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
         0: .line 276
            aload 1 /* objType */
            instanceof java.lang.reflect.GenericArrayType
            ifeq 4
         1: .line 278
            aload 1 /* objType */
            checkcast java.lang.reflect.GenericArrayType
            invokeinterface java.lang.reflect.GenericArrayType.getGenericComponentType:()Ljava/lang/reflect/Type;
         2: .line 277
            astore 3 /* componentType */
        start local 3 // java.lang.reflect.Type componentType
         3: .line 279
            aload 0 /* this */
            aload 1 /* objType */
            aload 3 /* componentType */
            aload 2 /* factory */
            invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeArrayOrCollectionMapping:(Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            areturn
        end local 3 // java.lang.reflect.Type componentType
         4: .line 280
      StackMap locals:
      StackMap stack:
            aload 1 /* objType */
            instanceof java.lang.Class
            ifeq 16
         5: .line 281
            aload 1 /* objType */
            checkcast java.lang.Class
            astore 3 /* objClass */
        start local 3 // java.lang.Class objClass
         6: .line 282
            aload 3 /* objClass */
            invokevirtual java.lang.Class.isEnum:()Z
            ifeq 8
         7: .line 286
            aload 3 /* objClass */
            ldc Ljava/lang/annotation/ElementType;
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeEnumMapping:(Ljava/lang/Class;Ljava/lang/Class;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            areturn
         8: .line 287
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3 /* objClass */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 13
         9: .line 288
            aload 3 /* objClass */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 4 /* componentType */
        start local 4 // java.lang.reflect.Type componentType
        10: .line 289
            aload 0 /* this */
            aload 3 /* objClass */
            aload 4 /* componentType */
        11: .line 290
            aload 2 /* factory */
        12: .line 289
            invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeArrayOrCollectionMapping:(Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            areturn
        end local 4 // java.lang.reflect.Type componentType
        13: .line 291
      StackMap locals:
      StackMap stack:
            aload 3 /* objClass */
            invokestatic javax.management.JMX.isMXBeanInterface:(Ljava/lang/Class;)Z
            ifeq 15
        14: .line 292
            aload 3 /* objClass */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeMXBeanRefMapping:(Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            areturn
        15: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* objClass */
            aload 2 /* factory */
            invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeCompositeMapping:(Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            areturn
        end local 3 // java.lang.Class objClass
        16: .line 296
      StackMap locals:
      StackMap stack:
            aload 1 /* objType */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 20
        17: .line 297
            aload 0 /* this */
            aload 1 /* objType */
            checkcast java.lang.reflect.ParameterizedType
        18: .line 298
            aload 2 /* factory */
        19: .line 297
            invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeParameterizedTypeMapping:(Ljava/lang/reflect/ParameterizedType;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            areturn
        20: .line 300
      StackMap locals:
      StackMap stack:
            new javax.management.openmbean.OpenDataException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot map type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* objType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
        end local 1 // java.lang.reflect.Type objType
        end local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory;
            0   21     1        objType  Ljava/lang/reflect/Type;
            0   21     2        factory  Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;
            3    4     3  componentType  Ljava/lang/reflect/Type;
            6   16     3       objClass  Ljava/lang/Class<*>;
           10   13     4  componentType  Ljava/lang/reflect/Type;
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
         Name  Flags
      objType  
      factory  

  private static <T extends java.lang.Enum<T>> com.sun.jmx.mbeanserver.MXBeanMapping makeEnumMapping(java.lang.Class<?>, java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class enumClass
        start local 1 // java.lang.Class fake
         0: .line 305
            aload 0 /* enumClass */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
         1: .line 306
            new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$EnumMapping
            dup
            aload 0 /* enumClass */
            invokestatic com.sun.jmx.mbeanserver.Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$EnumMapping.<init>:(Ljava/lang/Class;)V
            areturn
        end local 1 // java.lang.Class fake
        end local 0 // java.lang.Class enumClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  enumClass  Ljava/lang/Class<*>;
            0    2     1       fake  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Enum<TT;>;>(Ljava/lang/Class<*>;Ljava/lang/Class<TT;>;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    MethodParameters:
           Name  Flags
      enumClass  
      fake       

  private com.sun.jmx.mbeanserver.MXBeanMapping makeArrayOrCollectionMapping(java.lang.reflect.Type, java.lang.reflect.Type, com.sun.jmx.mbeanserver.MXBeanMappingFactory);
    descriptor: (Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
        start local 1 // java.lang.reflect.Type collectionType
        start local 2 // java.lang.reflect.Type elementType
        start local 3 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
         0: .line 319
            aload 3 /* factory */
            aload 2 /* elementType */
            aload 3 /* factory */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMappingFactory.mappingForType:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            astore 4 /* elementMapping */
        start local 4 // com.sun.jmx.mbeanserver.MXBeanMapping elementMapping
         1: .line 320
            aload 4 /* elementMapping */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.getOpenType:()Ljavax/management/openmbean/OpenType;
            astore 5 /* elementOpenType */
        start local 5 // javax.management.openmbean.OpenType elementOpenType
         2: .line 321
            aload 5 /* elementOpenType */
            invokestatic javax.management.openmbean.ArrayType.getArrayType:(Ljavax/management/openmbean/OpenType;)Ljavax/management/openmbean/ArrayType;
            astore 6 /* openType */
        start local 6 // javax.management.openmbean.ArrayType openType
         3: .line 322
            aload 4 /* elementMapping */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.getOpenClass:()Ljava/lang/Class;
            astore 7 /* elementOpenClass */
        start local 7 // java.lang.Class elementOpenClass
         4: .line 326
            aload 7 /* elementOpenClass */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 7
         5: .line 327
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* elementOpenClass */
            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;
            astore 9 /* openArrayClassName */
        start local 9 // java.lang.String openArrayClassName
         6: goto 8
        end local 9 // java.lang.String openArrayClassName
         7: .line 329
      StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory java.lang.reflect.Type java.lang.reflect.Type com.sun.jmx.mbeanserver.MXBeanMappingFactory com.sun.jmx.mbeanserver.MXBeanMapping javax.management.openmbean.OpenType javax.management.openmbean.ArrayType java.lang.Class
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "[L"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* elementOpenClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* openArrayClassName */
        start local 9 // java.lang.String openArrayClassName
         8: .line 331
      StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory java.lang.reflect.Type java.lang.reflect.Type com.sun.jmx.mbeanserver.MXBeanMappingFactory com.sun.jmx.mbeanserver.MXBeanMapping javax.management.openmbean.OpenType javax.management.openmbean.ArrayType java.lang.Class top java.lang.String
      StackMap stack:
            aload 9 /* openArrayClassName */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 8 /* openArrayClass */
        start local 8 // java.lang.Class openArrayClass
         9: .line 332
            goto 12
        end local 8 // java.lang.Class openArrayClass
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        10: astore 10 /* e */
        start local 10 // java.lang.ClassNotFoundException e
        11: .line 333
            ldc "Cannot obtain array class"
            aload 10 /* e */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.openDataException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/management/openmbean/OpenDataException;
            athrow
        end local 10 // java.lang.ClassNotFoundException e
        start local 8 // java.lang.Class openArrayClass
        12: .line 336
      StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory java.lang.reflect.Type java.lang.reflect.Type com.sun.jmx.mbeanserver.MXBeanMappingFactory com.sun.jmx.mbeanserver.MXBeanMapping javax.management.openmbean.OpenType javax.management.openmbean.ArrayType java.lang.Class java.lang.Class java.lang.String
      StackMap stack:
            aload 1 /* collectionType */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 17
        13: .line 337
            new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CollectionMapping
            dup
            aload 1 /* collectionType */
        14: .line 338
            aload 6 /* openType */
            aload 8 /* openArrayClass */
        15: .line 339
            aload 4 /* elementMapping */
        16: .line 337
            invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CollectionMapping.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/ArrayType;Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/MXBeanMapping;)V
            areturn
        17: .line 341
      StackMap locals:
      StackMap stack:
            aload 4 /* elementMapping */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.isIdentity:(Lcom/sun/jmx/mbeanserver/MXBeanMapping;)Z
            ifeq 21
        18: .line 342
            new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$IdentityMapping
            dup
            aload 1 /* collectionType */
        19: .line 343
            aload 6 /* openType */
        20: .line 342
            invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$IdentityMapping.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/OpenType;)V
            areturn
        21: .line 345
      StackMap locals:
      StackMap stack:
            new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$ArrayMapping
            dup
            aload 1 /* collectionType */
        22: .line 346
            aload 6 /* openType */
        23: .line 347
            aload 8 /* openArrayClass */
        24: .line 348
            aload 4 /* elementMapping */
        25: .line 345
            invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$ArrayMapping.<init>:(Ljava/lang/reflect/Type;Ljavax/management/openmbean/ArrayType;Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/MXBeanMapping;)V
            areturn
        end local 9 // java.lang.String openArrayClassName
        end local 8 // java.lang.Class openArrayClass
        end local 7 // java.lang.Class elementOpenClass
        end local 6 // javax.management.openmbean.ArrayType openType
        end local 5 // javax.management.openmbean.OpenType elementOpenType
        end local 4 // com.sun.jmx.mbeanserver.MXBeanMapping elementMapping
        end local 3 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
        end local 2 // java.lang.reflect.Type elementType
        end local 1 // java.lang.reflect.Type collectionType
        end local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   26     0                this  Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory;
            0   26     1      collectionType  Ljava/lang/reflect/Type;
            0   26     2         elementType  Ljava/lang/reflect/Type;
            0   26     3             factory  Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;
            1   26     4      elementMapping  Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            2   26     5     elementOpenType  Ljavax/management/openmbean/OpenType<*>;
            3   26     6            openType  Ljavax/management/openmbean/ArrayType<*>;
            4   26     7    elementOpenClass  Ljava/lang/Class<*>;
            9   10     8      openArrayClass  Ljava/lang/Class<*>;
           12   26     8      openArrayClass  Ljava/lang/Class<*>;
            6    7     9  openArrayClassName  Ljava/lang/String;
            8   26     9  openArrayClassName  Ljava/lang/String;
           11   12    10                   e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.ClassNotFoundException
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
                Name  Flags
      collectionType  
      elementType     
      factory         

  private com.sun.jmx.mbeanserver.MXBeanMapping makeTabularMapping(java.lang.reflect.Type, boolean, java.lang.reflect.Type, java.lang.reflect.Type, com.sun.jmx.mbeanserver.MXBeanMappingFactory);
    descriptor: (Ljava/lang/reflect/Type;ZLjava/lang/reflect/Type;Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=13, args_size=6
        start local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
        start local 1 // java.lang.reflect.Type objType
        start local 2 // boolean sortedMap
        start local 3 // java.lang.reflect.Type keyType
        start local 4 // java.lang.reflect.Type valueType
        start local 5 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
         0: .line 362
            aload 1 /* objType */
            invokestatic com.sun.jmx.mbeanserver.MXBeanIntrospector.typeName:(Ljava/lang/reflect/Type;)Ljava/lang/String;
            astore 6 /* objTypeName */
        start local 6 // java.lang.String objTypeName
         1: .line 363
            aload 5 /* factory */
            aload 3 /* keyType */
            aload 5 /* factory */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMappingFactory.mappingForType:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            astore 7 /* keyMapping */
        start local 7 // com.sun.jmx.mbeanserver.MXBeanMapping keyMapping
         2: .line 364
            aload 5 /* factory */
            aload 4 /* valueType */
            aload 5 /* factory */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMappingFactory.mappingForType:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            astore 8 /* valueMapping */
        start local 8 // com.sun.jmx.mbeanserver.MXBeanMapping valueMapping
         3: .line 365
            aload 7 /* keyMapping */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.getOpenType:()Ljavax/management/openmbean/OpenType;
            astore 9 /* keyOpenType */
        start local 9 // javax.management.openmbean.OpenType keyOpenType
         4: .line 366
            aload 8 /* valueMapping */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.getOpenType:()Ljavax/management/openmbean/OpenType;
            astore 10 /* valueOpenType */
        start local 10 // javax.management.openmbean.OpenType valueOpenType
         5: .line 368
            new javax.management.openmbean.CompositeType
            dup
            aload 6 /* objTypeName */
         6: .line 369
            aload 6 /* objTypeName */
         7: .line 370
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.keyValueArray:[Ljava/lang/String;
         8: .line 371
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.keyValueArray:[Ljava/lang/String;
         9: .line 372
            iconst_2
            anewarray javax.management.openmbean.OpenType
            dup
            iconst_0
            aload 9 /* keyOpenType */
            aastore
            dup
            iconst_1
            aload 10 /* valueOpenType */
            aastore
        10: .line 368
            invokespecial javax.management.openmbean.CompositeType.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljavax/management/openmbean/OpenType;)V
        11: .line 367
            astore 11 /* rowType */
        start local 11 // javax.management.openmbean.CompositeType rowType
        12: .line 374
            new javax.management.openmbean.TabularType
            dup
            aload 6 /* objTypeName */
            aload 6 /* objTypeName */
            aload 11 /* rowType */
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.keyArray:[Ljava/lang/String;
            invokespecial javax.management.openmbean.TabularType.<init>:(Ljava/lang/String;Ljava/lang/String;Ljavax/management/openmbean/CompositeType;[Ljava/lang/String;)V
        13: .line 373
            astore 12 /* tabularType */
        start local 12 // javax.management.openmbean.TabularType tabularType
        14: .line 375
            new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$TabularMapping
            dup
            aload 1 /* objType */
            iload 2 /* sortedMap */
            aload 12 /* tabularType */
        15: .line 376
            aload 7 /* keyMapping */
            aload 8 /* valueMapping */
        16: .line 375
            invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$TabularMapping.<init>:(Ljava/lang/reflect/Type;ZLjavax/management/openmbean/TabularType;Lcom/sun/jmx/mbeanserver/MXBeanMapping;Lcom/sun/jmx/mbeanserver/MXBeanMapping;)V
            areturn
        end local 12 // javax.management.openmbean.TabularType tabularType
        end local 11 // javax.management.openmbean.CompositeType rowType
        end local 10 // javax.management.openmbean.OpenType valueOpenType
        end local 9 // javax.management.openmbean.OpenType keyOpenType
        end local 8 // com.sun.jmx.mbeanserver.MXBeanMapping valueMapping
        end local 7 // com.sun.jmx.mbeanserver.MXBeanMapping keyMapping
        end local 6 // java.lang.String objTypeName
        end local 5 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
        end local 4 // java.lang.reflect.Type valueType
        end local 3 // java.lang.reflect.Type keyType
        end local 2 // boolean sortedMap
        end local 1 // java.lang.reflect.Type objType
        end local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory;
            0   17     1        objType  Ljava/lang/reflect/Type;
            0   17     2      sortedMap  Z
            0   17     3        keyType  Ljava/lang/reflect/Type;
            0   17     4      valueType  Ljava/lang/reflect/Type;
            0   17     5        factory  Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;
            1   17     6    objTypeName  Ljava/lang/String;
            2   17     7     keyMapping  Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            3   17     8   valueMapping  Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            4   17     9    keyOpenType  Ljavax/management/openmbean/OpenType<*>;
            5   17    10  valueOpenType  Ljavax/management/openmbean/OpenType<*>;
           12   17    11        rowType  Ljavax/management/openmbean/CompositeType;
           14   17    12    tabularType  Ljavax/management/openmbean/TabularType;
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
           Name  Flags
      objType    
      sortedMap  
      keyType    
      valueType  
      factory    

  private com.sun.jmx.mbeanserver.MXBeanMapping makeParameterizedTypeMapping(java.lang.reflect.ParameterizedType, com.sun.jmx.mbeanserver.MXBeanMappingFactory);
    descriptor: (Ljava/lang/reflect/ParameterizedType;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
        start local 1 // java.lang.reflect.ParameterizedType objType
        start local 2 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
         0: .line 389
            aload 1 /* objType */
            invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
            astore 3 /* rawType */
        start local 3 // java.lang.reflect.Type rawType
         1: .line 391
            aload 3 /* rawType */
            instanceof java.lang.Class
            ifeq 20
         2: .line 392
            aload 3 /* rawType */
            checkcast java.lang.Class
            astore 4 /* c */
        start local 4 // java.lang.Class c
         3: .line 393
            aload 4 /* c */
            ldc Ljava/util/List;
            if_acmpeq 4
            aload 4 /* c */
            ldc Ljava/util/Set;
            if_acmpeq 4
            aload 4 /* c */
            ldc Ljava/util/SortedSet;
            if_acmpne 9
         4: .line 394
      StackMap locals: java.lang.reflect.Type java.lang.Class
      StackMap stack:
            aload 1 /* objType */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            astore 5 /* actuals */
        start local 5 // java.lang.reflect.Type[] actuals
         5: .line 395
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.$assertionsDisabled:Z
            ifne 6
            aload 5 /* actuals */
            arraylength
            iconst_1
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 396
      StackMap locals: java.lang.reflect.Type[]
      StackMap stack:
            aload 4 /* c */
            ldc Ljava/util/SortedSet;
            if_acmpne 8
         7: .line 397
            aload 4 /* c */
            aload 5 /* actuals */
            iconst_0
            aaload
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mustBeComparable:(Ljava/lang/Class;Ljava/lang/reflect/Type;)V
         8: .line 398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* objType */
            aload 5 /* actuals */
            iconst_0
            aaload
            aload 2 /* factory */
            invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeArrayOrCollectionMapping:(Ljava/lang/reflect/Type;Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            areturn
        end local 5 // java.lang.reflect.Type[] actuals
         9: .line 400
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            ldc Ljava/util/SortedMap;
            if_acmpne 10
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* sortedMap */
        start local 5 // boolean sortedMap
        12: .line 401
            aload 4 /* c */
            ldc Ljava/util/Map;
            if_acmpeq 13
            iload 5 /* sortedMap */
            ifeq 20
        13: .line 402
      StackMap locals: int
      StackMap stack:
            aload 1 /* objType */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            astore 6 /* actuals */
        start local 6 // java.lang.reflect.Type[] actuals
        14: .line 403
            getstatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.$assertionsDisabled:Z
            ifne 15
            aload 6 /* actuals */
            arraylength
            iconst_2
            if_icmpeq 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 404
      StackMap locals: java.lang.reflect.Type[]
      StackMap stack:
            iload 5 /* sortedMap */
            ifeq 17
        16: .line 405
            aload 4 /* c */
            aload 6 /* actuals */
            iconst_0
            aaload
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.mustBeComparable:(Ljava/lang/Class;Ljava/lang/reflect/Type;)V
        17: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* objType */
            iload 5 /* sortedMap */
        18: .line 407
            aload 6 /* actuals */
            iconst_0
            aaload
            aload 6 /* actuals */
            iconst_1
            aaload
            aload 2 /* factory */
        19: .line 406
            invokevirtual com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.makeTabularMapping:(Ljava/lang/reflect/Type;ZLjava/lang/reflect/Type;Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            areturn
        end local 6 // java.lang.reflect.Type[] actuals
        end local 5 // boolean sortedMap
        end local 4 // java.lang.Class c
        20: .line 411
      StackMap locals:
      StackMap stack:
            new javax.management.openmbean.OpenDataException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot convert type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* objType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.reflect.Type rawType
        end local 2 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
        end local 1 // java.lang.reflect.ParameterizedType objType
        end local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory;
            0   21     1    objType  Ljava/lang/reflect/ParameterizedType;
            0   21     2    factory  Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;
            1   21     3    rawType  Ljava/lang/reflect/Type;
            3   20     4          c  Ljava/lang/Class<*>;
            5    9     5    actuals  [Ljava/lang/reflect/Type;
           12   20     5  sortedMap  Z
           14   20     6    actuals  [Ljava/lang/reflect/Type;
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
         Name  Flags
      objType  
      factory  

  private static com.sun.jmx.mbeanserver.MXBeanMapping makeMXBeanRefMapping(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.reflect.Type t
         0: .line 416
            new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$MXBeanRefMapping
            dup
            aload 0 /* t */
            invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$MXBeanRefMapping.<init>:(Ljava/lang/reflect/Type;)V
            areturn
        end local 0 // java.lang.reflect.Type t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/reflect/Type;
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
      Name  Flags
      t     

  private com.sun.jmx.mbeanserver.MXBeanMapping makeCompositeMapping(java.lang.Class<?>, com.sun.jmx.mbeanserver.MXBeanMappingFactory);
    descriptor: (Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=15, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
        start local 1 // java.lang.Class c
        start local 2 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
         0: .line 427
            aload 1 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "com.sun.management.GcInfo"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 428
            aload 1 /* c */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            ifnonnull 3
         2: .line 426
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* gcInfoHack */
        start local 3 // boolean gcInfoHack
         5: .line 430
            aload 1 /* c */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
         6: .line 432
            aload 1 /* c */
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic com.sun.jmx.mbeanserver.MBeanAnalyzer.eliminateCovariantMethods:(Ljava/util/List;)Ljava/util/List;
         7: .line 431
            astore 4 /* methods */
        start local 4 // java.util.List methods
         8: .line 433
            invokestatic com.sun.jmx.mbeanserver.Util.newSortedMap:()Ljava/util/SortedMap;
            astore 5 /* getterMap */
        start local 5 // java.util.SortedMap getterMap
         9: .line 438
            aload 4 /* methods */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 26
      StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory java.lang.Class com.sun.jmx.mbeanserver.MXBeanMappingFactory int java.util.List java.util.SortedMap top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 6 /* method */
        start local 6 // java.lang.reflect.Method method
        11: .line 439
            aload 6 /* method */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.propertyName:(Ljava/lang/reflect/Method;)Ljava/lang/String;
            astore 8 /* propertyName */
        start local 8 // java.lang.String propertyName
        12: .line 441
            aload 8 /* propertyName */
            ifnonnull 14
        13: .line 442
            goto 26
        14: .line 443
      StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory java.lang.Class com.sun.jmx.mbeanserver.MXBeanMappingFactory int java.util.List java.util.SortedMap java.lang.reflect.Method java.util.Iterator java.lang.String
      StackMap stack:
            iload 3 /* gcInfoHack */
            ifeq 16
            aload 8 /* propertyName */
            ldc "CompositeType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 444
            goto 26
        16: .line 447
      StackMap locals:
      StackMap stack:
            aload 5 /* getterMap */
            aload 8 /* propertyName */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
        17: .line 448
            aload 6 /* method */
        18: .line 447
            invokeinterface java.util.SortedMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
        19: .line 446
            astore 9 /* old */
        start local 9 // java.lang.reflect.Method old
        20: .line 449
            aload 9 /* old */
            ifnull 26
        21: .line 451
            new java.lang.StringBuilder
            dup
            ldc "Class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " has method name clash: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 452
            aload 9 /* old */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 451
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 450
            astore 10 /* msg */
        start local 10 // java.lang.String msg
        25: .line 453
            new javax.management.openmbean.OpenDataException
            dup
            aload 10 /* msg */
            invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.lang.String msg
        end local 9 // java.lang.reflect.Method old
        end local 8 // java.lang.String propertyName
        end local 6 // java.lang.reflect.Method method
        26: .line 438
      StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory java.lang.Class com.sun.jmx.mbeanserver.MXBeanMappingFactory int java.util.List java.util.SortedMap top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        27: .line 457
            aload 5 /* getterMap */
            invokeinterface java.util.SortedMap.size:()I
            istore 6 /* nitems */
        start local 6 // int nitems
        28: .line 459
            iload 6 /* nitems */
            ifne 32
        29: .line 460
            new javax.management.openmbean.OpenDataException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't map "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 461
            ldc " to an open data type"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 460
            invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 464
      StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory java.lang.Class com.sun.jmx.mbeanserver.MXBeanMappingFactory int java.util.List java.util.SortedMap int
      StackMap stack:
            iload 6 /* nitems */
            anewarray java.lang.reflect.Method
            astore 7 /* getters */
        start local 7 // java.lang.reflect.Method[] getters
        33: .line 465
            iload 6 /* nitems */
            anewarray java.lang.String
            astore 8 /* itemNames */
        start local 8 // java.lang.String[] itemNames
        34: .line 466
            iload 6 /* nitems */
            anewarray javax.management.openmbean.OpenType
            astore 9 /* openTypes */
        start local 9 // javax.management.openmbean.OpenType[] openTypes
        35: .line 467
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        36: .line 468
            aload 5 /* getterMap */
            invokeinterface java.util.SortedMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 44
      StackMap locals: com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory java.lang.Class com.sun.jmx.mbeanserver.MXBeanMappingFactory int java.util.List java.util.SortedMap int java.lang.reflect.Method[] java.lang.String[] javax.management.openmbean.OpenType[] int top java.util.Iterator
      StackMap stack:
        37: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 11 /* entry */
        start local 11 // java.util.Map$Entry entry
        38: .line 469
            aload 8 /* itemNames */
            iload 10 /* i */
            aload 11 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        39: .line 470
            aload 11 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 13 /* getter */
        start local 13 // java.lang.reflect.Method getter
        40: .line 471
            aload 7 /* getters */
            iload 10 /* i */
            aload 13 /* getter */
            aastore
        41: .line 472
            aload 13 /* getter */
            invokevirtual java.lang.reflect.Method.getGenericReturnType:()Ljava/lang/reflect/Type;
            astore 14 /* retType */
        start local 14 // java.lang.reflect.Type retType
        42: .line 473
            aload 9 /* openTypes */
            iload 10 /* i */
            aload 2 /* factory */
            aload 14 /* retType */
            aload 2 /* factory */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMappingFactory.mappingForType:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.getOpenType:()Ljavax/management/openmbean/OpenType;
            aastore
        43: .line 474
            iinc 10 /* i */ 1
        end local 14 // java.lang.reflect.Type retType
        end local 13 // java.lang.reflect.Method getter
        end local 11 // java.util.Map$Entry entry
        44: .line 468
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 37
        45: .line 478
            new javax.management.openmbean.CompositeType
            dup
            aload 1 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        46: .line 479
            aload 1 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        47: .line 480
            aload 8 /* itemNames */
        48: .line 481
            aload 8 /* itemNames */
        49: .line 482
            aload 9 /* openTypes */
        50: .line 478
            invokespecial javax.management.openmbean.CompositeType.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljavax/management/openmbean/OpenType;)V
        51: .line 477
            astore 11 /* compositeType */
        start local 11 // javax.management.openmbean.CompositeType compositeType
        52: .line 484
            new com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeMapping
            dup
            aload 0 /* this */
            aload 1 /* c */
        53: .line 485
            aload 11 /* compositeType */
        54: .line 486
            aload 8 /* itemNames */
        55: .line 487
            aload 7 /* getters */
        56: .line 488
            aload 2 /* factory */
        57: .line 484
            invokespecial com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeMapping.<init>:(Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory;Ljava/lang/Class;Ljavax/management/openmbean/CompositeType;[Ljava/lang/String;[Ljava/lang/reflect/Method;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)V
            areturn
        end local 11 // javax.management.openmbean.CompositeType compositeType
        end local 10 // int i
        end local 9 // javax.management.openmbean.OpenType[] openTypes
        end local 8 // java.lang.String[] itemNames
        end local 7 // java.lang.reflect.Method[] getters
        end local 6 // int nitems
        end local 5 // java.util.SortedMap getterMap
        end local 4 // java.util.List methods
        end local 3 // boolean gcInfoHack
        end local 2 // com.sun.jmx.mbeanserver.MXBeanMappingFactory factory
        end local 1 // java.lang.Class c
        end local 0 // com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   58     0           this  Lcom/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory;
            0   58     1              c  Ljava/lang/Class<*>;
            0   58     2        factory  Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;
            5   58     3     gcInfoHack  Z
            8   58     4        methods  Ljava/util/List<Ljava/lang/reflect/Method;>;
            9   58     5      getterMap  Ljava/util/SortedMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;
           11   26     6         method  Ljava/lang/reflect/Method;
           12   26     8   propertyName  Ljava/lang/String;
           20   26     9            old  Ljava/lang/reflect/Method;
           25   26    10            msg  Ljava/lang/String;
           28   58     6         nitems  I
           33   58     7        getters  [Ljava/lang/reflect/Method;
           34   58     8      itemNames  [Ljava/lang/String;
           35   58     9      openTypes  [Ljavax/management/openmbean/OpenType;
           36   58    10              i  I
           38   44    11          entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/reflect/Method;>;
           40   44    13         getter  Ljava/lang/reflect/Method;
           42   44    14        retType  Ljava/lang/reflect/Type;
           52   58    11  compositeType  Ljavax/management/openmbean/CompositeType;
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    Signature: (Ljava/lang/Class<*>;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    MethodParameters:
         Name  Flags
      c        
      factory  

  static java.io.InvalidObjectException invalidObjectException(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/InvalidObjectException;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String msg
        start local 1 // java.lang.Throwable cause
         0: .line 1437
            new java.io.InvalidObjectException
            dup
            aload 0 /* msg */
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            aload 1 /* cause */
            invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.io.InvalidObjectException
            areturn
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0    msg  Ljava/lang/String;
            0    1     1  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      msg    
      cause  

  static java.io.InvalidObjectException invalidObjectException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/io/InvalidObjectException;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Throwable cause
         0: .line 1441
            aload 0 /* cause */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aload 0 /* cause */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.invalidObjectException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/InvalidObjectException;
            areturn
        end local 0 // java.lang.Throwable cause
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      cause  

  static javax.management.openmbean.OpenDataException openDataException(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/management/openmbean/OpenDataException;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String msg
        start local 1 // java.lang.Throwable cause
         0: .line 1445
            new javax.management.openmbean.OpenDataException
            dup
            aload 0 /* msg */
            invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
            aload 1 /* cause */
            invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast javax.management.openmbean.OpenDataException
            areturn
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0    msg  Ljava/lang/String;
            0    1     1  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      msg    
      cause  

  static javax.management.openmbean.OpenDataException openDataException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljavax/management/openmbean/OpenDataException;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Throwable cause
         0: .line 1449
            aload 0 /* cause */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aload 0 /* cause */
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.openDataException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/management/openmbean/OpenDataException;
            areturn
        end local 0 // java.lang.Throwable cause
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      cause  

  static void mustBeComparable(java.lang.Class<?>, java.lang.reflect.Type);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Type;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Class collection
        start local 1 // java.lang.reflect.Type element
         0: .line 1454
            aload 1 /* element */
            instanceof java.lang.Class
            ifeq 2
         1: .line 1455
            ldc Ljava/lang/Comparable;
            aload 1 /* element */
            checkcast java.lang.Class
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 8
         2: .line 1457
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Parameter class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* element */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1458
            aload 0 /* collection */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not implement "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 1459
            ldc Ljava/lang/Comparable;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1457
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 1456
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         7: .line 1460
            new javax.management.openmbean.OpenDataException
            dup
            aload 2 /* msg */
            invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String msg
         8: .line 1462
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.reflect.Type element
        end local 0 // java.lang.Class collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0  collection  Ljava/lang/Class<*>;
            0    9     1     element  Ljava/lang/reflect/Type;
            7    8     2         msg  Ljava/lang/String;
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Type;)V
    MethodParameters:
            Name  Flags
      collection  
      element     

  public static java.lang.String decapitalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1478
            aload 0 /* name */
            ifnull 1
            aload 0 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 1479
      StackMap locals:
      StackMap stack:
            aload 0 /* name */
            areturn
         2: .line 1481
      StackMap locals:
      StackMap stack:
            aload 0 /* name */
            iconst_0
            iconst_1
            invokestatic java.lang.Character.offsetByCodePoints:(Ljava/lang/CharSequence;II)I
            istore 1 /* offset1 */
        start local 1 // int offset1
         3: .line 1483
            iload 1 /* offset1 */
            aload 0 /* name */
            invokevirtual java.lang.String.length:()I
            if_icmpge 6
         4: .line 1484
            aload 0 /* name */
            iload 1 /* offset1 */
            invokevirtual java.lang.String.codePointAt:(I)I
            invokestatic java.lang.Character.isUpperCase:(I)Z
            ifeq 6
         5: .line 1485
            aload 0 /* name */
            areturn
         6: .line 1486
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* name */
            iconst_0
            iload 1 /* offset1 */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 1487
            aload 0 /* name */
            iload 1 /* offset1 */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1486
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // int offset1
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     name  Ljava/lang/String;
            3    9     1  offset1  I
    MethodParameters:
      Name  Flags
      name  

  static java.lang.String capitalize(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1497
            aload 0 /* name */
            ifnull 1
            aload 0 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 1498
      StackMap locals:
      StackMap stack:
            aload 0 /* name */
            areturn
         2: .line 1499
      StackMap locals:
      StackMap stack:
            aload 0 /* name */
            iconst_0
            iconst_1
            invokevirtual java.lang.String.offsetByCodePoints:(II)I
            istore 1 /* offset1 */
        start local 1 // int offset1
         3: .line 1500
            new java.lang.StringBuilder
            dup
            aload 0 /* name */
            iconst_0
            iload 1 /* offset1 */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 1501
            aload 0 /* name */
            iload 1 /* offset1 */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1500
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // int offset1
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     name  Ljava/lang/String;
            3    6     1  offset1  I
    MethodParameters:
      Name  Flags
      name  

  public static java.lang.String propertyName(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.reflect.Method m
         0: .line 1505
            aconst_null
            astore 1 /* rest */
        start local 1 // java.lang.String rest
         1: .line 1506
            aload 0 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         2: .line 1507
            aload 2 /* name */
            ldc "get"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1508
            aload 2 /* name */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* rest */
            goto 6
         4: .line 1509
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* name */
            ldc "is"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
            aload 0 /* m */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 6
         5: .line 1510
            aload 2 /* name */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* rest */
         6: .line 1511
      StackMap locals:
      StackMap stack:
            aload 1 /* rest */
            ifnull 10
            aload 1 /* rest */
            invokevirtual java.lang.String.length:()I
            ifeq 10
         7: .line 1512
            aload 0 /* m */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            ifgt 10
         8: .line 1513
            aload 0 /* m */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 10
         9: .line 1514
            aload 2 /* name */
            ldc "getClass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 1515
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        11: .line 1516
      StackMap locals:
      StackMap stack:
            aload 1 /* rest */
            areturn
        end local 2 // java.lang.String name
        end local 1 // java.lang.String rest
        end local 0 // java.lang.reflect.Method m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0     m  Ljava/lang/reflect/Method;
            1   12     1  rest  Ljava/lang/String;
            2   12     2  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      m     
}
SourceFile: "DefaultMXBeanMappingFactory.java"
NestMembers:
  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$ArrayMapping  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CollectionMapping  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilder  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderCheckGetters  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor$Constr  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaFrom  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaProxy  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeMapping  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$EnumMapping  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$IdentityMapping  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$MXBeanRefMapping  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$Mappings  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$NonNullMXBeanMapping  com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$TabularMapping
InnerClasses:
  private final ArrayMapping = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$ArrayMapping of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private final CollectionMapping = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CollectionMapping of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private abstract CompositeBuilder = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilder of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private CompositeBuilderCheckGetters = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderCheckGetters of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private final CompositeBuilderViaConstructor = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaConstructor of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private final CompositeBuilderViaFrom = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaFrom of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private final CompositeBuilderViaProxy = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaProxy of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private CompositeBuilderViaSetters = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaSetters of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private final CompositeMapping = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeMapping of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private final EnumMapping = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$EnumMapping of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private final IdentityMapping = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$IdentityMapping of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private final MXBeanRefMapping = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$MXBeanRefMapping of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private final Mappings = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$Mappings of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  abstract NonNullMXBeanMapping = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$NonNullMXBeanMapping of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  private final TabularMapping = com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$TabularMapping of com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory
  public abstract Entry = java.util.Map$Entry of java.util.Map