final class java.lang.management.PlatformComponent extends java.lang.Enum<java.lang.management.PlatformComponent>
  minor version: 0
  major version: 59
  flags: flags: (0x4030) ACC_FINAL, ACC_SUPER, ACC_ANNOTATION
  this_class: java.lang.management.PlatformComponent
  super_class: java.lang.Enum
{
  public static final java.lang.management.PlatformComponent CLASS_LOADING;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent COMPILATION;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent MEMORY;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent GARBAGE_COLLECTOR;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent MEMORY_MANAGER;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent MEMORY_POOL;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent OPERATING_SYSTEM;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent RUNTIME;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent THREADING;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent LOGGING;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent BUFFER_POOL;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent SUN_GARBAGE_COLLECTOR;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent SUN_OPERATING_SYSTEM;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent SUN_UNIX_OPERATING_SYSTEM;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  public static final java.lang.management.PlatformComponent HOTSPOT_DIAGNOSTIC;
    descriptor: Ljava/lang/management/PlatformComponent;
    flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ANNOTATION

  private final java.lang.String mxbeanInterfaceName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String domain;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String type;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Set<java.lang.String> keyProperties;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private final java.lang.management.PlatformComponent$MXBeanFetcher<?> fetcher;
    descriptor: Ljava/lang/management/PlatformComponent$MXBeanFetcher;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/management/PlatformComponent$MXBeanFetcher<*>;

  private final java.lang.management.PlatformComponent[] subComponents;
    descriptor: [Ljava/lang/management/PlatformComponent;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean singleton;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static java.util.Set<java.lang.String> defaultKeyProps;
    descriptor: Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private static java.util.Map<java.lang.String, java.lang.management.PlatformComponent> enumMap;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/management/PlatformComponent;>;

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6992337162326171013

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

  private static final java.lang.management.PlatformComponent[] ENUM$VALUES;
    descriptor: [Ljava/lang/management/PlatformComponent;
    flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=14, locals=0, args_size=0
         0: .line 61
            ldc Ljava/lang/management/PlatformComponent;
            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 java.lang.management.PlatformComponent.$assertionsDisabled:Z
         3: .line 63
            new java.lang.management.PlatformComponent
            dup
            ldc "CLASS_LOADING"
            iconst_0
         4: .line 67
            ldc "java.lang.management.ClassLoadingMXBean"
         5: .line 68
            ldc "java.lang"
            ldc "ClassLoading"
            invokestatic java.lang.management.PlatformComponent.defaultKeyProperties:()Ljava/util/Set;
         6: .line 69
            iconst_1
         7: .line 70
            new java.lang.management.PlatformComponent$1
            dup
            invokespecial java.lang.management.PlatformComponent$1.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
         8: .line 66
            putstatic java.lang.management.PlatformComponent.CLASS_LOADING:Ljava/lang/management/PlatformComponent;
         9: .line 76
            new java.lang.management.PlatformComponent
            dup
            ldc "COMPILATION"
            iconst_1
        10: .line 80
            ldc "java.lang.management.CompilationMXBean"
        11: .line 81
            ldc "java.lang"
            ldc "Compilation"
            invokestatic java.lang.management.PlatformComponent.defaultKeyProperties:()Ljava/util/Set;
        12: .line 82
            iconst_1
        13: .line 83
            new java.lang.management.PlatformComponent$2
            dup
            invokespecial java.lang.management.PlatformComponent$2.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        14: .line 79
            putstatic java.lang.management.PlatformComponent.COMPILATION:Ljava/lang/management/PlatformComponent;
        15: .line 94
            new java.lang.management.PlatformComponent
            dup
            ldc "MEMORY"
            iconst_2
        16: .line 98
            ldc "java.lang.management.MemoryMXBean"
        17: .line 99
            ldc "java.lang"
            ldc "Memory"
            invokestatic java.lang.management.PlatformComponent.defaultKeyProperties:()Ljava/util/Set;
        18: .line 100
            iconst_1
        19: .line 101
            new java.lang.management.PlatformComponent$3
            dup
            invokespecial java.lang.management.PlatformComponent$3.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        20: .line 97
            putstatic java.lang.management.PlatformComponent.MEMORY:Ljava/lang/management/PlatformComponent;
        21: .line 107
            new java.lang.management.PlatformComponent
            dup
            ldc "GARBAGE_COLLECTOR"
            iconst_3
        22: .line 111
            ldc "java.lang.management.GarbageCollectorMXBean"
        23: .line 112
            ldc "java.lang"
            ldc "GarbageCollector"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "name"
            aastore
            invokestatic java.lang.management.PlatformComponent.keyProperties:([Ljava/lang/String;)Ljava/util/Set;
        24: .line 113
            iconst_0
        25: .line 114
            new java.lang.management.PlatformComponent$4
            dup
            invokespecial java.lang.management.PlatformComponent$4.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        26: .line 110
            putstatic java.lang.management.PlatformComponent.GARBAGE_COLLECTOR:Ljava/lang/management/PlatformComponent;
        27: .line 121
            new java.lang.management.PlatformComponent
            dup
            ldc "MEMORY_MANAGER"
            iconst_4
        28: .line 125
            ldc "java.lang.management.MemoryManagerMXBean"
        29: .line 126
            ldc "java.lang"
            ldc "MemoryManager"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "name"
            aastore
            invokestatic java.lang.management.PlatformComponent.keyProperties:([Ljava/lang/String;)Ljava/util/Set;
        30: .line 127
            iconst_0
        31: .line 128
            new java.lang.management.PlatformComponent$5
            dup
            invokespecial java.lang.management.PlatformComponent$5.<init>:()V
            iconst_1
            anewarray java.lang.management.PlatformComponent
            dup
            iconst_0
        32: .line 133
            getstatic java.lang.management.PlatformComponent.GARBAGE_COLLECTOR:Ljava/lang/management/PlatformComponent;
            aastore
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        33: .line 124
            putstatic java.lang.management.PlatformComponent.MEMORY_MANAGER:Ljava/lang/management/PlatformComponent;
        34: .line 135
            new java.lang.management.PlatformComponent
            dup
            ldc "MEMORY_POOL"
            iconst_5
        35: .line 139
            ldc "java.lang.management.MemoryPoolMXBean"
        36: .line 140
            ldc "java.lang"
            ldc "MemoryPool"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "name"
            aastore
            invokestatic java.lang.management.PlatformComponent.keyProperties:([Ljava/lang/String;)Ljava/util/Set;
        37: .line 141
            iconst_0
        38: .line 142
            new java.lang.management.PlatformComponent$6
            dup
            invokespecial java.lang.management.PlatformComponent$6.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        39: .line 138
            putstatic java.lang.management.PlatformComponent.MEMORY_POOL:Ljava/lang/management/PlatformComponent;
        40: .line 148
            new java.lang.management.PlatformComponent
            dup
            ldc "OPERATING_SYSTEM"
            bipush 6
        41: .line 152
            ldc "java.lang.management.OperatingSystemMXBean"
        42: .line 153
            ldc "java.lang"
            ldc "OperatingSystem"
            invokestatic java.lang.management.PlatformComponent.defaultKeyProperties:()Ljava/util/Set;
        43: .line 154
            iconst_1
        44: .line 155
            new java.lang.management.PlatformComponent$7
            dup
            invokespecial java.lang.management.PlatformComponent$7.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        45: .line 151
            putstatic java.lang.management.PlatformComponent.OPERATING_SYSTEM:Ljava/lang/management/PlatformComponent;
        46: .line 161
            new java.lang.management.PlatformComponent
            dup
            ldc "RUNTIME"
            bipush 7
        47: .line 165
            ldc "java.lang.management.RuntimeMXBean"
        48: .line 166
            ldc "java.lang"
            ldc "Runtime"
            invokestatic java.lang.management.PlatformComponent.defaultKeyProperties:()Ljava/util/Set;
        49: .line 167
            iconst_1
        50: .line 168
            new java.lang.management.PlatformComponent$8
            dup
            invokespecial java.lang.management.PlatformComponent$8.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        51: .line 164
            putstatic java.lang.management.PlatformComponent.RUNTIME:Ljava/lang/management/PlatformComponent;
        52: .line 174
            new java.lang.management.PlatformComponent
            dup
            ldc "THREADING"
            bipush 8
        53: .line 178
            ldc "java.lang.management.ThreadMXBean"
        54: .line 179
            ldc "java.lang"
            ldc "Threading"
            invokestatic java.lang.management.PlatformComponent.defaultKeyProperties:()Ljava/util/Set;
        55: .line 180
            iconst_1
        56: .line 181
            new java.lang.management.PlatformComponent$9
            dup
            invokespecial java.lang.management.PlatformComponent$9.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        57: .line 177
            putstatic java.lang.management.PlatformComponent.THREADING:Ljava/lang/management/PlatformComponent;
        58: .line 188
            new java.lang.management.PlatformComponent
            dup
            ldc "LOGGING"
            bipush 9
        59: .line 192
            ldc "java.lang.management.PlatformLoggingMXBean"
        60: .line 193
            ldc "java.util.logging"
            ldc "Logging"
            invokestatic java.lang.management.PlatformComponent.defaultKeyProperties:()Ljava/util/Set;
        61: .line 194
            iconst_1
        62: .line 195
            new java.lang.management.PlatformComponent$10
            dup
            invokespecial java.lang.management.PlatformComponent$10.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        63: .line 191
            putstatic java.lang.management.PlatformComponent.LOGGING:Ljava/lang/management/PlatformComponent;
        64: .line 206
            new java.lang.management.PlatformComponent
            dup
            ldc "BUFFER_POOL"
            bipush 10
        65: .line 210
            ldc "java.lang.management.BufferPoolMXBean"
        66: .line 211
            ldc "java.nio"
            ldc "BufferPool"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "name"
            aastore
            invokestatic java.lang.management.PlatformComponent.keyProperties:([Ljava/lang/String;)Ljava/util/Set;
        67: .line 212
            iconst_0
        68: .line 213
            new java.lang.management.PlatformComponent$11
            dup
            invokespecial java.lang.management.PlatformComponent$11.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        69: .line 209
            putstatic java.lang.management.PlatformComponent.BUFFER_POOL:Ljava/lang/management/PlatformComponent;
        70: .line 222
            new java.lang.management.PlatformComponent
            dup
            ldc "SUN_GARBAGE_COLLECTOR"
            bipush 11
        71: .line 226
            ldc "com.sun.management.GarbageCollectorMXBean"
        72: .line 227
            ldc "java.lang"
            ldc "GarbageCollector"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "name"
            aastore
            invokestatic java.lang.management.PlatformComponent.keyProperties:([Ljava/lang/String;)Ljava/util/Set;
        73: .line 228
            iconst_0
        74: .line 229
            new java.lang.management.PlatformComponent$12
            dup
            invokespecial java.lang.management.PlatformComponent$12.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        75: .line 225
            putstatic java.lang.management.PlatformComponent.SUN_GARBAGE_COLLECTOR:Ljava/lang/management/PlatformComponent;
        76: .line 235
            new java.lang.management.PlatformComponent
            dup
            ldc "SUN_OPERATING_SYSTEM"
            bipush 12
        77: .line 240
            ldc "com.sun.management.OperatingSystemMXBean"
        78: .line 241
            ldc "java.lang"
            ldc "OperatingSystem"
            invokestatic java.lang.management.PlatformComponent.defaultKeyProperties:()Ljava/util/Set;
        79: .line 242
            iconst_1
        80: .line 243
            new java.lang.management.PlatformComponent$13
            dup
            invokespecial java.lang.management.PlatformComponent$13.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        81: .line 239
            putstatic java.lang.management.PlatformComponent.SUN_OPERATING_SYSTEM:Ljava/lang/management/PlatformComponent;
        82: .line 249
            new java.lang.management.PlatformComponent
            dup
            ldc "SUN_UNIX_OPERATING_SYSTEM"
            bipush 13
        83: .line 253
            ldc "com.sun.management.UnixOperatingSystemMXBean"
        84: .line 254
            ldc "java.lang"
            ldc "OperatingSystem"
            invokestatic java.lang.management.PlatformComponent.defaultKeyProperties:()Ljava/util/Set;
        85: .line 255
            iconst_1
        86: .line 256
            new java.lang.management.PlatformComponent$14
            dup
            invokespecial java.lang.management.PlatformComponent$14.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        87: .line 252
            putstatic java.lang.management.PlatformComponent.SUN_UNIX_OPERATING_SYSTEM:Ljava/lang/management/PlatformComponent;
        88: .line 262
            new java.lang.management.PlatformComponent
            dup
            ldc "HOTSPOT_DIAGNOSTIC"
            bipush 14
        89: .line 266
            ldc "com.sun.management.HotSpotDiagnosticMXBean"
        90: .line 267
            ldc "com.sun.management"
            ldc "HotSpotDiagnostic"
            invokestatic java.lang.management.PlatformComponent.defaultKeyProperties:()Ljava/util/Set;
        91: .line 268
            iconst_1
        92: .line 269
            new java.lang.management.PlatformComponent$15
            dup
            invokespecial java.lang.management.PlatformComponent$15.<init>:()V
            iconst_0
            anewarray java.lang.management.PlatformComponent
            invokespecial java.lang.management.PlatformComponent.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
        93: .line 265
            putstatic java.lang.management.PlatformComponent.HOTSPOT_DIAGNOSTIC:Ljava/lang/management/PlatformComponent;
            bipush 15
            anewarray java.lang.management.PlatformComponent
            dup
            iconst_0
            getstatic java.lang.management.PlatformComponent.CLASS_LOADING:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            iconst_1
            getstatic java.lang.management.PlatformComponent.COMPILATION:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            iconst_2
            getstatic java.lang.management.PlatformComponent.MEMORY:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            iconst_3
            getstatic java.lang.management.PlatformComponent.GARBAGE_COLLECTOR:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            iconst_4
            getstatic java.lang.management.PlatformComponent.MEMORY_MANAGER:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            iconst_5
            getstatic java.lang.management.PlatformComponent.MEMORY_POOL:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            bipush 6
            getstatic java.lang.management.PlatformComponent.OPERATING_SYSTEM:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            bipush 7
            getstatic java.lang.management.PlatformComponent.RUNTIME:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            bipush 8
            getstatic java.lang.management.PlatformComponent.THREADING:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            bipush 9
            getstatic java.lang.management.PlatformComponent.LOGGING:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            bipush 10
            getstatic java.lang.management.PlatformComponent.BUFFER_POOL:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            bipush 11
            getstatic java.lang.management.PlatformComponent.SUN_GARBAGE_COLLECTOR:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            bipush 12
            getstatic java.lang.management.PlatformComponent.SUN_OPERATING_SYSTEM:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            bipush 13
            getstatic java.lang.management.PlatformComponent.SUN_UNIX_OPERATING_SYSTEM:Ljava/lang/management/PlatformComponent;
            aastore
            dup
            bipush 14
            getstatic java.lang.management.PlatformComponent.HOTSPOT_DIAGNOSTIC:Ljava/lang/management/PlatformComponent;
            aastore
            putstatic java.lang.management.PlatformComponent.ENUM$VALUES:[Ljava/lang/management/PlatformComponent;
        94: .line 467
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static <T extends java.lang.management.GarbageCollectorMXBean> java.util.List<T> getGcMXBeanList(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.Class gcMXBeanIntf
         0: .line 289
            invokestatic sun.management.ManagementFactoryHelper.getGarbageCollectorMXBeans:()Ljava/util/List;
         1: .line 288
            astore 1 /* list */
        start local 1 // java.util.List list
         2: .line 290
            new java.util.ArrayList
            dup
            aload 1 /* list */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* result */
        start local 2 // java.util.List result
         3: .line 291
            aload 1 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: java.lang.Class java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.management.GarbageCollectorMXBean
            astore 3 /* m */
        start local 3 // java.lang.management.GarbageCollectorMXBean m
         5: .line 292
            aload 0 /* gcMXBeanIntf */
            aload 3 /* m */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 293
            aload 2 /* result */
            aload 0 /* gcMXBeanIntf */
            aload 3 /* m */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.management.GarbageCollectorMXBean
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.management.GarbageCollectorMXBean m
         7: .line 291
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 296
            aload 2 /* result */
            areturn
        end local 2 // java.util.List result
        end local 1 // java.util.List list
        end local 0 // java.lang.Class gcMXBeanIntf
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0  gcMXBeanIntf  Ljava/lang/Class<TT;>;
            2    9     1          list  Ljava/util/List<Ljava/lang/management/GarbageCollectorMXBean;>;
            3    9     2        result  Ljava/util/List<TT;>;
            5    7     3             m  Ljava/lang/management/GarbageCollectorMXBean;
    Signature: <T::Ljava/lang/management/GarbageCollectorMXBean;>(Ljava/lang/Class<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
              Name  Flags
      gcMXBeanIntf  

  private static <T extends java.lang.management.OperatingSystemMXBean> java.util.List<T> getOSMXBeanList(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class osMXBeanIntf
         0: .line 305
            invokestatic sun.management.ManagementFactoryHelper.getOperatingSystemMXBean:()Ljava/lang/management/OperatingSystemMXBean;
         1: .line 304
            astore 1 /* m */
        start local 1 // java.lang.management.OperatingSystemMXBean m
         2: .line 306
            aload 0 /* osMXBeanIntf */
            aload 1 /* m */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 307
            aload 0 /* osMXBeanIntf */
            aload 1 /* m */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.management.OperatingSystemMXBean
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
         4: .line 309
      StackMap locals: java.lang.management.OperatingSystemMXBean
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 1 // java.lang.management.OperatingSystemMXBean m
        end local 0 // java.lang.Class osMXBeanIntf
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0  osMXBeanIntf  Ljava/lang/Class<TT;>;
            2    5     1             m  Ljava/lang/management/OperatingSystemMXBean;
    Signature: <T::Ljava/lang/management/OperatingSystemMXBean;>(Ljava/lang/Class<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
              Name  Flags
      osMXBeanIntf  

  private void <init>(java.lang.String, java.lang.String, java.lang.String, java.util.Set<java.lang.String>, boolean, java.lang.management.PlatformComponent$MXBeanFetcher<?>, java.lang.management.PlatformComponent[]);
    descriptor: (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;ZLjava/lang/management/PlatformComponent$MXBeanFetcher;[Ljava/lang/management/PlatformComponent;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=3, locals=10, args_size=10
        start local 0 // java.lang.management.PlatformComponent this
        start local 3 // java.lang.String intfName
        start local 4 // java.lang.String domain
        start local 5 // java.lang.String type
        start local 6 // java.util.Set keyProperties
        start local 7 // boolean singleton
        start local 8 // java.lang.management.PlatformComponent$MXBeanFetcher fetcher
        start local 9 // java.lang.management.PlatformComponent[] subComponents
         0: .line 321
            aload 0 /* this */
            aload 1
            iload 2
            invokespecial java.lang.Enum.<init>:(Ljava/lang/String;I)V
         1: .line 327
            aload 0 /* this */
            aload 3 /* intfName */
            putfield java.lang.management.PlatformComponent.mxbeanInterfaceName:Ljava/lang/String;
         2: .line 328
            aload 0 /* this */
            aload 4 /* domain */
            putfield java.lang.management.PlatformComponent.domain:Ljava/lang/String;
         3: .line 329
            aload 0 /* this */
            aload 5 /* type */
            putfield java.lang.management.PlatformComponent.type:Ljava/lang/String;
         4: .line 330
            aload 0 /* this */
            aload 6 /* keyProperties */
            putfield java.lang.management.PlatformComponent.keyProperties:Ljava/util/Set;
         5: .line 331
            aload 0 /* this */
            iload 7 /* singleton */
            putfield java.lang.management.PlatformComponent.singleton:Z
         6: .line 332
            aload 0 /* this */
            aload 8 /* fetcher */
            putfield java.lang.management.PlatformComponent.fetcher:Ljava/lang/management/PlatformComponent$MXBeanFetcher;
         7: .line 333
            aload 0 /* this */
            aload 9 /* subComponents */
            putfield java.lang.management.PlatformComponent.subComponents:[Ljava/lang/management/PlatformComponent;
         8: .line 334
            return
        end local 9 // java.lang.management.PlatformComponent[] subComponents
        end local 8 // java.lang.management.PlatformComponent$MXBeanFetcher fetcher
        end local 7 // boolean singleton
        end local 6 // java.util.Set keyProperties
        end local 5 // java.lang.String type
        end local 4 // java.lang.String domain
        end local 3 // java.lang.String intfName
        end local 0 // java.lang.management.PlatformComponent this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Ljava/lang/management/PlatformComponent;
            0    9     3       intfName  Ljava/lang/String;
            0    9     4         domain  Ljava/lang/String;
            0    9     5           type  Ljava/lang/String;
            0    9     6  keyProperties  Ljava/util/Set<Ljava/lang/String;>;
            0    9     7      singleton  Z
            0    9     8        fetcher  Ljava/lang/management/PlatformComponent$MXBeanFetcher<*>;
            0    9     9  subComponents  [Ljava/lang/management/PlatformComponent;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;ZLjava/lang/management/PlatformComponent$MXBeanFetcher<*>;[Ljava/lang/management/PlatformComponent;)V
    MethodParameters:
               Name  Flags
      $enum$name     
      $enum$ordinal  
      intfName       
      domain         
      type           
      keyProperties  
      singleton      
      fetcher        
      subComponents  

  private static java.util.Set<java.lang.String> defaultKeyProperties();
    descriptor: ()Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 338
            getstatic java.lang.management.PlatformComponent.defaultKeyProps:Ljava/util/Set;
            ifnonnull 2
         1: .line 339
            ldc "type"
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            putstatic java.lang.management.PlatformComponent.defaultKeyProps:Ljava/util/Set;
         2: .line 341
      StackMap locals:
      StackMap stack:
            getstatic java.lang.management.PlatformComponent.defaultKeyProps:Ljava/util/Set;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  private static java.util.Set<java.lang.String> keyProperties(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/util/Set;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.String[] keyNames
         0: .line 345
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* set */
        start local 1 // java.util.Set set
         1: .line 346
            aload 1 /* set */
            ldc "type"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 347
            aload 0 /* keyNames */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: java.lang.String[] java.util.Set top int int java.lang.String[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* s */
        start local 2 // java.lang.String s
         4: .line 348
            aload 1 /* set */
            aload 2 /* s */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.String s
         5: .line 347
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 350
            aload 1 /* set */
            areturn
        end local 1 // java.util.Set set
        end local 0 // java.lang.String[] keyNames
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  keyNames  [Ljava/lang/String;
            1    8     1       set  Ljava/util/Set<Ljava/lang/String;>;
            4    5     2         s  Ljava/lang/String;
    Signature: ([Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
          Name  Flags
      keyNames  

  boolean isSingleton();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.management.PlatformComponent this
         0: .line 354
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.singleton:Z
            ireturn
        end local 0 // java.lang.management.PlatformComponent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/management/PlatformComponent;

  java.lang.String getMXBeanInterfaceName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.management.PlatformComponent this
         0: .line 358
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.mxbeanInterfaceName:Ljava/lang/String;
            areturn
        end local 0 // java.lang.management.PlatformComponent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/management/PlatformComponent;

  java.lang.Class<? extends java.lang.management.PlatformManagedObject> getMXBeanInterface();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.management.PlatformComponent this
         0: .line 366
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.mxbeanInterfaceName:Ljava/lang/String;
            iconst_0
         1: .line 367
            ldc Ljava/lang/management/PlatformManagedObject;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         2: .line 366
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
         3: .line 365
            areturn
         4: .line 368
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 1 /* x */
        start local 1 // java.lang.ClassNotFoundException x
         5: .line 369
            new java.lang.AssertionError
            dup
            aload 1 /* x */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // java.lang.ClassNotFoundException x
        end local 0 // java.lang.management.PlatformComponent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/management/PlatformComponent;
            5    6     1     x  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.ClassNotFoundException
    Signature: ()Ljava/lang/Class<+Ljava/lang/management/PlatformManagedObject;>;

  <T extends java.lang.management.PlatformManagedObject> java.util.List<T> getMXBeans(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.management.PlatformComponent this
        start local 1 // java.lang.Class mxbeanInterface
         0: .line 377
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.fetcher:Ljava/lang/management/PlatformComponent$MXBeanFetcher;
            invokeinterface java.lang.management.PlatformComponent$MXBeanFetcher.getMXBeans:()Ljava/util/List;
            areturn
        end local 1 // java.lang.Class mxbeanInterface
        end local 0 // java.lang.management.PlatformComponent this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Ljava/lang/management/PlatformComponent;
            0    1     1  mxbeanInterface  Ljava/lang/Class<TT;>;
    Signature: <T::Ljava/lang/management/PlatformManagedObject;>(Ljava/lang/Class<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
                 Name  Flags
      mxbeanInterface  

  <T extends java.lang.management.PlatformManagedObject> T getSingletonMXBean(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.management.PlatformComponent this
        start local 1 // java.lang.Class mxbeanInterface
         0: .line 382
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.singleton:Z
            ifne 4
         1: .line 383
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.mxbeanInterfaceName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 384
            ldc " can have zero or more than one instances"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 383
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* mxbeanInterface */
            invokevirtual java.lang.management.PlatformComponent.getMXBeans:(Ljava/lang/Class;)Ljava/util/List;
            astore 2 /* list */
        start local 2 // java.util.List list
         5: .line 387
            getstatic java.lang.management.PlatformComponent.$assertionsDisabled:Z
            ifne 6
            aload 2 /* list */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 388
      StackMap locals: java.util.List
      StackMap stack:
            aload 2 /* list */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 7
            aconst_null
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 2 /* list */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.management.PlatformManagedObject
      StackMap locals:
      StackMap stack: java.lang.management.PlatformManagedObject
         8: areturn
        end local 2 // java.util.List list
        end local 1 // java.lang.Class mxbeanInterface
        end local 0 // java.lang.management.PlatformComponent this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Ljava/lang/management/PlatformComponent;
            0    9     1  mxbeanInterface  Ljava/lang/Class<TT;>;
            5    9     2             list  Ljava/util/List<TT;>;
    Signature: <T::Ljava/lang/management/PlatformManagedObject;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                 Name  Flags
      mxbeanInterface  

  <T extends java.lang.management.PlatformManagedObject> T getSingletonMXBean(javax.management.MBeanServerConnection, java.lang.Class<T>);
    descriptor: (Ljavax/management/MBeanServerConnection;Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.management.PlatformComponent this
        start local 1 // javax.management.MBeanServerConnection mbs
        start local 2 // java.lang.Class mxbeanInterface
         0: .line 395
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.singleton:Z
            ifne 4
         1: .line 396
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.mxbeanInterfaceName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 397
            ldc " can have zero or more than one instances"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 396
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 400
      StackMap locals:
      StackMap stack:
            getstatic java.lang.management.PlatformComponent.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.keyProperties:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmpeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 401
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.domain:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.type:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* on */
        start local 3 // java.lang.String on
         6: .line 402
            aload 1 /* mbs */
         7: .line 403
            aload 3 /* on */
         8: .line 404
            aload 2 /* mxbeanInterface */
         9: .line 402
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.management.PlatformManagedObject
            areturn
        end local 3 // java.lang.String on
        end local 2 // java.lang.Class mxbeanInterface
        end local 1 // javax.management.MBeanServerConnection mbs
        end local 0 // java.lang.management.PlatformComponent this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Ljava/lang/management/PlatformComponent;
            0   10     1              mbs  Ljavax/management/MBeanServerConnection;
            0   10     2  mxbeanInterface  Ljava/lang/Class<TT;>;
            6   10     3               on  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: <T::Ljava/lang/management/PlatformManagedObject;>(Ljavax/management/MBeanServerConnection;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                 Name  Flags
      mbs              
      mxbeanInterface  

  <T extends java.lang.management.PlatformManagedObject> java.util.List<T> getMXBeans(javax.management.MBeanServerConnection, java.lang.Class<T>);
    descriptor: (Ljavax/management/MBeanServerConnection;Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.lang.management.PlatformComponent this
        start local 1 // javax.management.MBeanServerConnection mbs
        start local 2 // java.lang.Class mxbeanInterface
         0: .line 411
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.List result
         1: .line 412
            aload 0 /* this */
            aload 1 /* mbs */
            invokevirtual java.lang.management.PlatformComponent.getObjectNames:(Ljavax/management/MBeanServerConnection;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: java.lang.management.PlatformComponent javax.management.MBeanServerConnection java.lang.Class java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 4 /* on */
        start local 4 // javax.management.ObjectName on
         3: .line 413
            aload 3 /* result */
         4: .line 414
            aload 1 /* mbs */
         5: .line 415
            aload 4 /* on */
            invokevirtual javax.management.ObjectName.getCanonicalName:()Ljava/lang/String;
         6: .line 416
            aload 2 /* mxbeanInterface */
         7: .line 414
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.management.PlatformManagedObject
         8: .line 413
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // javax.management.ObjectName on
         9: .line 412
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 419
            aload 3 /* result */
            areturn
        end local 3 // java.util.List result
        end local 2 // java.lang.Class mxbeanInterface
        end local 1 // javax.management.MBeanServerConnection mbs
        end local 0 // java.lang.management.PlatformComponent this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Ljava/lang/management/PlatformComponent;
            0   11     1              mbs  Ljavax/management/MBeanServerConnection;
            0   11     2  mxbeanInterface  Ljava/lang/Class<TT;>;
            1   11     3           result  Ljava/util/List<TT;>;
            3    9     4               on  Ljavax/management/ObjectName;
    Exceptions:
      throws java.io.IOException
    Signature: <T::Ljava/lang/management/PlatformManagedObject;>(Ljavax/management/MBeanServerConnection;Ljava/lang/Class<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
                 Name  Flags
      mbs              
      mxbeanInterface  

  private java.util.Set<javax.management.ObjectName> getObjectNames(javax.management.MBeanServerConnection);
    descriptor: (Ljavax/management/MBeanServerConnection;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // java.lang.management.PlatformComponent this
        start local 1 // javax.management.MBeanServerConnection mbs
         0: .line 425
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.domain:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.type:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* domainAndType */
        start local 2 // java.lang.String domainAndType
         1: .line 426
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.keyProperties:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmple 3
         2: .line 428
            new java.lang.StringBuilder
            dup
            aload 2 /* domainAndType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ",*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* domainAndType */
         3: .line 430
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* domainAndType */
            invokestatic sun.management.Util.newObjectName:(Ljava/lang/String;)Ljavax/management/ObjectName;
            astore 3 /* on */
        start local 3 // javax.management.ObjectName on
         4: .line 431
            aload 1 /* mbs */
            aload 3 /* on */
            aconst_null
            invokeinterface javax.management.MBeanServerConnection.queryNames:(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;
            astore 4 /* set */
        start local 4 // java.util.Set set
         5: .line 432
            aload 0 /* this */
            getfield java.lang.management.PlatformComponent.subComponents:[Ljava/lang/management/PlatformComponent;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 9
      StackMap locals: java.lang.management.PlatformComponent javax.management.MBeanServerConnection java.lang.String javax.management.ObjectName java.util.Set top int int java.lang.management.PlatformComponent[]
      StackMap stack:
         6: aload 8
            iload 6
            aaload
            astore 5 /* pc */
        start local 5 // java.lang.management.PlatformComponent pc
         7: .line 433
            aload 4 /* set */
            aload 5 /* pc */
            aload 1 /* mbs */
            invokevirtual java.lang.management.PlatformComponent.getObjectNames:(Ljavax/management/MBeanServerConnection;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 5 // java.lang.management.PlatformComponent pc
         8: .line 432
            iinc 6 1
      StackMap locals:
      StackMap stack:
         9: iload 6
            iload 7
            if_icmplt 6
        10: .line 435
            aload 4 /* set */
            areturn
        end local 4 // java.util.Set set
        end local 3 // javax.management.ObjectName on
        end local 2 // java.lang.String domainAndType
        end local 1 // javax.management.MBeanServerConnection mbs
        end local 0 // java.lang.management.PlatformComponent this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Ljava/lang/management/PlatformComponent;
            0   11     1            mbs  Ljavax/management/MBeanServerConnection;
            1   11     2  domainAndType  Ljava/lang/String;
            4   11     3             on  Ljavax/management/ObjectName;
            5   11     4            set  Ljava/util/Set<Ljavax/management/ObjectName;>;
            7    8     5             pc  Ljava/lang/management/PlatformComponent;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/management/MBeanServerConnection;)Ljava/util/Set<Ljavax/management/ObjectName;>;
    MethodParameters:
      Name  Flags
      mbs   

  private static synchronized void ensureInitialized();
    descriptor: ()V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=0
         0: .line 441
            getstatic java.lang.management.PlatformComponent.enumMap:Ljava/util/Map;
            ifnonnull 7
         1: .line 442
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic java.lang.management.PlatformComponent.enumMap:Ljava/util/Map;
         2: .line 443
            invokestatic java.lang.management.PlatformComponent.values:()[Ljava/lang/management/PlatformComponent;
            dup
            astore 3
            arraylength
            istore 2
            iconst_0
            istore 1
            goto 6
      StackMap locals: top int int java.lang.management.PlatformComponent[]
      StackMap stack:
         3: aload 3
            iload 1
            aaload
            astore 0 /* pc */
        start local 0 // java.lang.management.PlatformComponent pc
         4: .line 446
            getstatic java.lang.management.PlatformComponent.enumMap:Ljava/util/Map;
            aload 0 /* pc */
            invokevirtual java.lang.management.PlatformComponent.getMXBeanInterfaceName:()Ljava/lang/String;
            aload 0 /* pc */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 0 // java.lang.management.PlatformComponent pc
         5: .line 443
            iinc 1 1
      StackMap locals:
      StackMap stack:
         6: iload 1
            iload 2
            if_icmplt 3
         7: .line 449
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    5     0    pc  Ljava/lang/management/PlatformComponent;

  static boolean isPlatformMXBean(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String cn
         0: .line 452
            invokestatic java.lang.management.PlatformComponent.ensureInitialized:()V
         1: .line 453
            getstatic java.lang.management.PlatformComponent.enumMap:Ljava/util/Map;
            aload 0 /* cn */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.String cn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    cn  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      cn    

  static <T extends java.lang.management.PlatformManagedObject> java.lang.management.PlatformComponent getPlatformComponent(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/management/PlatformComponent;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Class mxbeanInterface
         0: .line 459
            invokestatic java.lang.management.PlatformComponent.ensureInitialized:()V
         1: .line 460
            aload 0 /* mxbeanInterface */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* cn */
        start local 1 // java.lang.String cn
         2: .line 461
            getstatic java.lang.management.PlatformComponent.enumMap:Ljava/util/Map;
            aload 1 /* cn */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.management.PlatformComponent
            astore 2 /* pc */
        start local 2 // java.lang.management.PlatformComponent pc
         3: .line 462
            aload 2 /* pc */
            ifnull 5
            aload 2 /* pc */
            invokevirtual java.lang.management.PlatformComponent.getMXBeanInterface:()Ljava/lang/Class;
            aload 0 /* mxbeanInterface */
            if_acmpne 5
         4: .line 463
            aload 2 /* pc */
            areturn
         5: .line 464
      StackMap locals: java.lang.String java.lang.management.PlatformComponent
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.management.PlatformComponent pc
        end local 1 // java.lang.String cn
        end local 0 // java.lang.Class mxbeanInterface
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0  mxbeanInterface  Ljava/lang/Class<TT;>;
            2    6     1               cn  Ljava/lang/String;
            3    6     2               pc  Ljava/lang/management/PlatformComponent;
    Signature: <T::Ljava/lang/management/PlatformManagedObject;>(Ljava/lang/Class<TT;>;)Ljava/lang/management/PlatformComponent;
    MethodParameters:
                 Name  Flags
      mxbeanInterface  

  public static java.lang.management.PlatformComponent[] values();
    descriptor: ()[Ljava/lang/management/PlatformComponent;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=0
         0: .line 1
            getstatic java.lang.management.PlatformComponent.ENUM$VALUES:[Ljava/lang/management/PlatformComponent;
            dup
            astore 0
            iconst_0
            aload 0
            arraylength
            dup
            istore 1
            anewarray java.lang.management.PlatformComponent
            dup
            astore 2
            iconst_0
            iload 1
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
            aload 2
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.management.PlatformComponent valueOf(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/management/PlatformComponent;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
         0: .line 1
            ldc Ljava/lang/management/PlatformComponent;
            aload 0
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            checkcast java.lang.management.PlatformComponent
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
      Name  Flags
      name  
}
Signature: Ljava/lang/Enum<Ljava/lang/management/PlatformComponent;>;
SourceFile: "PlatformComponent.java"
NestMembers:
  java.lang.management.PlatformComponent$1  java.lang.management.PlatformComponent$10  java.lang.management.PlatformComponent$11  java.lang.management.PlatformComponent$12  java.lang.management.PlatformComponent$13  java.lang.management.PlatformComponent$14  java.lang.management.PlatformComponent$15  java.lang.management.PlatformComponent$2  java.lang.management.PlatformComponent$3  java.lang.management.PlatformComponent$4  java.lang.management.PlatformComponent$5  java.lang.management.PlatformComponent$6  java.lang.management.PlatformComponent$7  java.lang.management.PlatformComponent$8  java.lang.management.PlatformComponent$9  java.lang.management.PlatformComponent$MXBeanFetcher
InnerClasses:
  java.lang.management.PlatformComponent$1
  java.lang.management.PlatformComponent$10
  java.lang.management.PlatformComponent$11
  java.lang.management.PlatformComponent$12
  java.lang.management.PlatformComponent$13
  java.lang.management.PlatformComponent$14
  java.lang.management.PlatformComponent$15
  java.lang.management.PlatformComponent$2
  java.lang.management.PlatformComponent$3
  java.lang.management.PlatformComponent$4
  java.lang.management.PlatformComponent$5
  java.lang.management.PlatformComponent$6
  java.lang.management.PlatformComponent$7
  java.lang.management.PlatformComponent$8
  java.lang.management.PlatformComponent$9
  abstract MXBeanFetcher = java.lang.management.PlatformComponent$MXBeanFetcher of java.lang.management.PlatformComponent