class sun.management.MappedMXBeanType$CompositeDataMXBeanType extends sun.management.MappedMXBeanType
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.management.MappedMXBeanType$CompositeDataMXBeanType
  super_class: sun.management.MappedMXBeanType
{
  final java.lang.Class<?> javaClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  final boolean isCompositeData;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  java.lang.reflect.Method fromMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0000) 

  void <init>(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=9, locals=10, args_size=2
        start local 0 // sun.management.MappedMXBeanType$CompositeDataMXBeanType this
        start local 1 // java.lang.Class c
         0: .line 610
            aload 0 /* this */
            invokespecial sun.management.MappedMXBeanType.<init>:()V
         1: .line 608
            aload 0 /* this */
            aconst_null
            putfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.fromMethod:Ljava/lang/reflect/Method;
         2: .line 611
            aload 0 /* this */
            aload 1 /* c */
            putfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.javaClass:Ljava/lang/Class;
         3: .line 612
            aload 0 /* this */
            getstatic sun.management.MappedMXBeanType.COMPOSITE_DATA_CLASS:Ljava/lang/Class;
            putfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.mappedTypeClass:Ljava/lang/Class;
         4: .line 616
            aload 0 /* this */
            new sun.management.MappedMXBeanType$CompositeDataMXBeanType$1
            dup
            aload 0 /* this */
            invokespecial sun.management.MappedMXBeanType$CompositeDataMXBeanType$1.<init>:(Lsun/management/MappedMXBeanType$CompositeDataMXBeanType;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            putfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.fromMethod:Ljava/lang/reflect/Method;
         5: .line 621
            goto 7
      StackMap locals: sun.management.MappedMXBeanType$CompositeDataMXBeanType java.lang.Class
      StackMap stack: java.security.PrivilegedActionException
         6: pop
         7: .line 626
      StackMap locals:
      StackMap stack:
            getstatic sun.management.MappedMXBeanType.COMPOSITE_DATA_CLASS:Ljava/lang/Class;
            aload 1 /* c */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 11
         8: .line 630
            aload 0 /* this */
            iconst_1
            putfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.isCompositeData:Z
         9: .line 631
            aload 0 /* this */
            aconst_null
            putfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.openType:Ljavax/management/openmbean/OpenType;
        10: .line 632
            goto 44
        11: .line 633
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.isCompositeData:Z
        12: .line 637
            new sun.management.MappedMXBeanType$CompositeDataMXBeanType$2
            dup
            aload 0 /* this */
            invokespecial sun.management.MappedMXBeanType$CompositeDataMXBeanType$2.<init>:(Lsun/management/MappedMXBeanType$CompositeDataMXBeanType;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method[]
        13: .line 636
            astore 2 /* methods */
        start local 2 // java.lang.reflect.Method[] methods
        14: .line 642
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* names */
        start local 3 // java.util.List names
        15: .line 643
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* types */
        start local 4 // java.util.List types
        16: .line 648
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        17: goto 36
        18: .line 649
      StackMap locals: sun.management.MappedMXBeanType$CompositeDataMXBeanType java.lang.Class java.lang.reflect.Method[] java.util.List java.util.List int
      StackMap stack:
            aload 2 /* methods */
            iload 5 /* i */
            aaload
            astore 6 /* method */
        start local 6 // java.lang.reflect.Method method
        19: .line 650
            aload 6 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        20: .line 651
            aload 6 /* method */
            invokevirtual java.lang.reflect.Method.getGenericReturnType:()Ljava/lang/reflect/Type;
            astore 8 /* type */
        start local 8 // java.lang.reflect.Type type
        21: .line 653
            aload 7 /* name */
            ldc "get"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 24
        22: .line 654
            aload 7 /* name */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* rest */
        start local 9 // java.lang.String rest
        23: .line 655
            goto 28
        end local 9 // java.lang.String rest
      StackMap locals: java.lang.reflect.Method java.lang.String java.lang.reflect.Type
      StackMap stack:
        24: aload 7 /* name */
            ldc "is"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 35
        25: .line 656
            aload 8 /* type */
            instanceof java.lang.Class
            ifeq 35
        26: .line 657
            aload 8 /* type */
            checkcast java.lang.Class
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 35
        27: .line 658
            aload 7 /* name */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* rest */
        start local 9 // java.lang.String rest
        28: .line 664
      StackMap locals: java.lang.String
      StackMap stack:
            aload 9 /* rest */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 35
        29: .line 665
            aload 6 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            ifgt 35
        30: .line 666
            aload 8 /* type */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 35
        31: .line 667
            aload 9 /* rest */
            ldc "Class"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        32: .line 670
            goto 35
        33: .line 672
      StackMap locals:
      StackMap stack:
            aload 3 /* names */
            aload 9 /* rest */
            invokestatic sun.management.MappedMXBeanType.decapitalize:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        34: .line 673
            aload 4 /* types */
            aload 8 /* type */
            invokestatic sun.management.MappedMXBeanType$CompositeDataMXBeanType.toOpenType:(Ljava/lang/reflect/Type;)Ljavax/management/openmbean/OpenType;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.lang.String rest
        end local 8 // java.lang.reflect.Type type
        end local 7 // java.lang.String name
        end local 6 // java.lang.reflect.Method method
        35: .line 648
      StackMap locals: sun.management.MappedMXBeanType$CompositeDataMXBeanType java.lang.Class java.lang.reflect.Method[] java.util.List java.util.List int
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 5 /* i */
            aload 2 /* methods */
            arraylength
            if_icmplt 18
        end local 5 // int i
        37: .line 676
            aload 3 /* names */
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 5 /* nameArray */
        start local 5 // java.lang.String[] nameArray
        38: .line 677
            aload 0 /* this */
            new javax.management.openmbean.CompositeType
            dup
            aload 1 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        39: .line 678
            aload 1 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        40: .line 679
            aload 5 /* nameArray */
        41: .line 680
            aload 5 /* nameArray */
        42: .line 681
            aload 4 /* types */
            iconst_0
            anewarray javax.management.openmbean.OpenType
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast javax.management.openmbean.OpenType[]
            invokespecial javax.management.openmbean.CompositeType.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljavax/management/openmbean/OpenType;)V
        43: .line 677
            putfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.openType:Ljavax/management/openmbean/OpenType;
        end local 5 // java.lang.String[] nameArray
        end local 4 // java.util.List types
        end local 3 // java.util.List names
        end local 2 // java.lang.reflect.Method[] methods
        44: .line 683
      StackMap locals: sun.management.MappedMXBeanType$CompositeDataMXBeanType java.lang.Class
      StackMap stack:
            return
        end local 1 // java.lang.Class c
        end local 0 // sun.management.MappedMXBeanType$CompositeDataMXBeanType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   45     0       this  Lsun/management/MappedMXBeanType$CompositeDataMXBeanType;
            0   45     1          c  Ljava/lang/Class<*>;
           14   44     2    methods  [Ljava/lang/reflect/Method;
           15   44     3      names  Ljava/util/List<Ljava/lang/String;>;
           16   44     4      types  Ljava/util/List<Ljavax/management/openmbean/OpenType<*>;>;
           17   37     5          i  I
           19   35     6     method  Ljava/lang/reflect/Method;
           20   35     7       name  Ljava/lang/String;
           21   35     8       type  Ljava/lang/reflect/Type;
           23   24     9       rest  Ljava/lang/String;
           28   35     9       rest  Ljava/lang/String;
           38   44     5  nameArray  [Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     5       6  Class java.security.PrivilegedActionException
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
      Name  Flags
      c     

  java.lang.reflect.Type getJavaType();
    descriptor: ()Ljava/lang/reflect/Type;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.MappedMXBeanType$CompositeDataMXBeanType this
         0: .line 686
            aload 0 /* this */
            getfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.javaClass:Ljava/lang/Class;
            areturn
        end local 0 // sun.management.MappedMXBeanType$CompositeDataMXBeanType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/MappedMXBeanType$CompositeDataMXBeanType;

  java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.MappedMXBeanType$CompositeDataMXBeanType this
         0: .line 690
            aload 0 /* this */
            getfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.javaClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // sun.management.MappedMXBeanType$CompositeDataMXBeanType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/MappedMXBeanType$CompositeDataMXBeanType;

  java.lang.Object toOpenTypeData(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // sun.management.MappedMXBeanType$CompositeDataMXBeanType this
        start local 1 // java.lang.Object data
         0: .line 694
            aload 1 /* data */
            instanceof java.lang.management.MemoryUsage
            ifeq 2
         1: .line 695
            aload 1 /* data */
            checkcast java.lang.management.MemoryUsage
            invokestatic sun.management.MemoryUsageCompositeData.toCompositeData:(Ljava/lang/management/MemoryUsage;)Ljavax/management/openmbean/CompositeData;
            areturn
         2: .line 698
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            instanceof java.lang.management.ThreadInfo
            ifeq 4
         3: .line 699
            aload 1 /* data */
            checkcast java.lang.management.ThreadInfo
            invokestatic sun.management.ThreadInfoCompositeData.toCompositeData:(Ljava/lang/management/ThreadInfo;)Ljavax/management/openmbean/CompositeData;
            areturn
         4: .line 702
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            instanceof java.lang.management.LockInfo
            ifeq 8
         5: .line 703
            aload 1 /* data */
            instanceof java.lang.management.MonitorInfo
            ifeq 7
         6: .line 704
            aload 1 /* data */
            checkcast java.lang.management.MonitorInfo
            invokestatic sun.management.MonitorInfoCompositeData.toCompositeData:(Ljava/lang/management/MonitorInfo;)Ljavax/management/openmbean/CompositeData;
            areturn
         7: .line 706
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            checkcast java.lang.management.LockInfo
            invokestatic sun.management.LockInfoCompositeData.toCompositeData:(Ljava/lang/management/LockInfo;)Ljavax/management/openmbean/CompositeData;
            areturn
         8: .line 709
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            instanceof java.lang.management.MemoryNotificationInfo
            ifeq 11
         9: .line 711
            aload 1 /* data */
            checkcast java.lang.management.MemoryNotificationInfo
            invokestatic sun.management.MemoryNotifInfoCompositeData.toCompositeData:(Ljava/lang/management/MemoryNotificationInfo;)Ljavax/management/openmbean/CompositeData;
        10: .line 710
            areturn
        11: .line 714
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            instanceof com.sun.management.VMOption
            ifeq 13
        12: .line 715
            aload 1 /* data */
            checkcast com.sun.management.VMOption
            invokestatic sun.management.VMOptionCompositeData.toCompositeData:(Lcom/sun/management/VMOption;)Ljavax/management/openmbean/CompositeData;
            areturn
        13: .line 718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.isCompositeData:Z
            ifeq 19
        14: .line 723
            aload 1 /* data */
            checkcast javax.management.openmbean.CompositeData
            astore 2 /* cd */
        start local 2 // javax.management.openmbean.CompositeData cd
        15: .line 724
            aload 2 /* cd */
            invokeinterface javax.management.openmbean.CompositeData.getCompositeType:()Ljavax/management/openmbean/CompositeType;
            astore 3 /* ct */
        start local 3 // javax.management.openmbean.CompositeType ct
        16: .line 725
            aload 3 /* ct */
            invokevirtual javax.management.openmbean.CompositeType.keySet:()Ljava/util/Set;
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 4 /* itemNames */
        start local 4 // java.lang.String[] itemNames
        17: .line 726
            aload 2 /* cd */
            aload 4 /* itemNames */
            invokeinterface javax.management.openmbean.CompositeData.getAll:([Ljava/lang/String;)[Ljava/lang/Object;
            astore 5 /* itemValues */
        start local 5 // java.lang.Object[] itemValues
        18: .line 727
            new javax.management.openmbean.CompositeDataSupport
            dup
            aload 3 /* ct */
            aload 4 /* itemNames */
            aload 5 /* itemValues */
            invokespecial javax.management.openmbean.CompositeDataSupport.<init>:(Ljavax/management/openmbean/CompositeType;[Ljava/lang/String;[Ljava/lang/Object;)V
            areturn
        end local 5 // java.lang.Object[] itemValues
        end local 4 // java.lang.String[] itemNames
        end local 3 // javax.management.openmbean.CompositeType ct
        end local 2 // javax.management.openmbean.CompositeData cd
        19: .line 730
      StackMap locals:
      StackMap stack:
            new javax.management.openmbean.OpenDataException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.javaClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        20: .line 731
            ldc " is not supported for platform MXBeans"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 730
            invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Object data
        end local 0 // sun.management.MappedMXBeanType$CompositeDataMXBeanType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lsun/management/MappedMXBeanType$CompositeDataMXBeanType;
            0   22     1        data  Ljava/lang/Object;
           15   19     2          cd  Ljavax/management/openmbean/CompositeData;
           16   19     3          ct  Ljavax/management/openmbean/CompositeType;
           17   19     4   itemNames  [Ljava/lang/String;
           18   19     5  itemValues  [Ljava/lang/Object;
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
      Name  Flags
      data  

  java.lang.Object toJavaTypeData(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // sun.management.MappedMXBeanType$CompositeDataMXBeanType this
        start local 1 // java.lang.Object data
         0: .line 737
            aload 0 /* this */
            getfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.fromMethod:Ljava/lang/reflect/Method;
            ifnonnull 2
         1: .line 738
            new java.lang.AssertionError
            dup
            ldc "Does not support data conversion"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 742
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.fromMethod:Ljava/lang/reflect/Method;
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* data */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         3: areturn
         4: .line 743
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
         5: .line 745
            new java.lang.AssertionError
            dup
            aload 2 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.IllegalAccessException e
         6: .line 746
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 2 /* e */
        start local 2 // java.lang.reflect.InvocationTargetException e
         7: .line 748
            new javax.management.openmbean.OpenDataException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to invoke "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 749
            aload 0 /* this */
            getfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.fromMethod:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to convert CompositeData "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 750
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.management.MappedMXBeanType$CompositeDataMXBeanType.javaClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 748
            invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
        11: .line 747
            astore 3 /* ode */
        start local 3 // javax.management.openmbean.OpenDataException ode
        12: .line 751
            aload 3 /* ode */
            aload 2 /* e */
            invokevirtual javax.management.openmbean.OpenDataException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 752
            aload 3 /* ode */
            athrow
        end local 3 // javax.management.openmbean.OpenDataException ode
        end local 2 // java.lang.reflect.InvocationTargetException e
        end local 1 // java.lang.Object data
        end local 0 // sun.management.MappedMXBeanType$CompositeDataMXBeanType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lsun/management/MappedMXBeanType$CompositeDataMXBeanType;
            0   14     1  data  Ljava/lang/Object;
            5    6     2     e  Ljava/lang/IllegalAccessException;
            7   14     2     e  Ljava/lang/reflect/InvocationTargetException;
           12   14     3   ode  Ljavax/management/openmbean/OpenDataException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalAccessException
           2     3       6  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws javax.management.openmbean.OpenDataException, java.io.InvalidObjectException
    MethodParameters:
      Name  Flags
      data  
}
SourceFile: "MappedMXBeanType.java"
NestHost: sun.management.MappedMXBeanType
InnerClasses:
  CompositeDataMXBeanType = sun.management.MappedMXBeanType$CompositeDataMXBeanType of sun.management.MappedMXBeanType
  sun.management.MappedMXBeanType$CompositeDataMXBeanType$1
  sun.management.MappedMXBeanType$CompositeDataMXBeanType$2