public class java.lang.management.ManagementFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.lang.management.ManagementFactory
  super_class: java.lang.Object
{
  public static final java.lang.String CLASS_LOADING_MXBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.lang:type=ClassLoading"

  public static final java.lang.String COMPILATION_MXBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.lang:type=Compilation"

  public static final java.lang.String MEMORY_MXBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.lang:type=Memory"

  public static final java.lang.String OPERATING_SYSTEM_MXBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.lang:type=OperatingSystem"

  public static final java.lang.String RUNTIME_MXBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.lang:type=Runtime"

  public static final java.lang.String THREAD_MXBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.lang:type=Threading"

  public static final java.lang.String GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.lang:type=GarbageCollector"

  public static final java.lang.String MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.lang:type=MemoryManager"

  public static final java.lang.String MEMORY_POOL_MXBEAN_DOMAIN_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.lang:type=MemoryPool"

  private static javax.management.MBeanServer platformMBeanServer;
    descriptor: Ljavax/management/MBeanServer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.String NOTIF_EMITTER;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.management.NotificationEmitter"

  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=1, locals=0, args_size=0
         0: .line 249
            ldc Ljava/lang/management/ManagementFactory;
            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.ManagementFactory.$assertionsDisabled:Z
         3: .line 1019
            invokedynamic run()Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/management/ManagementFactory.lambda$0()Ljava/lang/Void; (6)
                  ()Ljava/lang/Void;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         4: .line 1023
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.management.ManagementFactory this
         0: .line 251
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.lang.management.ManagementFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/management/ManagementFactory;

  public static java.lang.management.ClassLoadingMXBean getClassLoadingMXBean();
    descriptor: ()Ljava/lang/management/ClassLoadingMXBean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 333
            ldc Ljava/lang/management/ClassLoadingMXBean;
            invokestatic java.lang.management.ManagementFactory.getPlatformMXBean:(Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
            checkcast java.lang.management.ClassLoadingMXBean
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.management.MemoryMXBean getMemoryMXBean();
    descriptor: ()Ljava/lang/management/MemoryMXBean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 343
            ldc Ljava/lang/management/MemoryMXBean;
            invokestatic java.lang.management.ManagementFactory.getPlatformMXBean:(Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
            checkcast java.lang.management.MemoryMXBean
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.management.ThreadMXBean getThreadMXBean();
    descriptor: ()Ljava/lang/management/ThreadMXBean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 353
            ldc Ljava/lang/management/ThreadMXBean;
            invokestatic java.lang.management.ManagementFactory.getPlatformMXBean:(Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
            checkcast java.lang.management.ThreadMXBean
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.management.RuntimeMXBean getRuntimeMXBean();
    descriptor: ()Ljava/lang/management/RuntimeMXBean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 364
            ldc Ljava/lang/management/RuntimeMXBean;
            invokestatic java.lang.management.ManagementFactory.getPlatformMXBean:(Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
            checkcast java.lang.management.RuntimeMXBean
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.management.CompilationMXBean getCompilationMXBean();
    descriptor: ()Ljava/lang/management/CompilationMXBean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 377
            ldc Ljava/lang/management/CompilationMXBean;
            invokestatic java.lang.management.ManagementFactory.getPlatformMXBean:(Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
            checkcast java.lang.management.CompilationMXBean
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.management.OperatingSystemMXBean getOperatingSystemMXBean();
    descriptor: ()Ljava/lang/management/OperatingSystemMXBean;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 388
            ldc Ljava/lang/management/OperatingSystemMXBean;
            invokestatic java.lang.management.ManagementFactory.getPlatformMXBean:(Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
            checkcast java.lang.management.OperatingSystemMXBean
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.util.List<java.lang.management.MemoryPoolMXBean> getMemoryPoolMXBeans();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 401
            ldc Ljava/lang/management/MemoryPoolMXBean;
            invokestatic java.lang.management.ManagementFactory.getPlatformMXBeans:(Ljava/lang/Class;)Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/List<Ljava/lang/management/MemoryPoolMXBean;>;

  public static java.util.List<java.lang.management.MemoryManagerMXBean> getMemoryManagerMXBeans();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 414
            ldc Ljava/lang/management/MemoryManagerMXBean;
            invokestatic java.lang.management.ManagementFactory.getPlatformMXBeans:(Ljava/lang/Class;)Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/List<Ljava/lang/management/MemoryManagerMXBean;>;

  public static java.util.List<java.lang.management.GarbageCollectorMXBean> getGarbageCollectorMXBeans();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 430
            ldc Ljava/lang/management/GarbageCollectorMXBean;
            invokestatic java.lang.management.ManagementFactory.getPlatformMXBeans:(Ljava/lang/Class;)Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/List<Ljava/lang/management/GarbageCollectorMXBean;>;

  public static synchronized javax.management.MBeanServer getPlatformMBeanServer();
    descriptor: ()Ljavax/management/MBeanServer;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=0
         0: .line 476
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* sm */
        start local 0 // java.lang.SecurityManager sm
         1: .line 477
            aload 0 /* sm */
            ifnull 4
         2: .line 478
            new javax.management.MBeanServerPermission
            dup
            ldc "createMBeanServer"
            invokespecial javax.management.MBeanServerPermission.<init>:(Ljava/lang/String;)V
            astore 1 /* perm */
        start local 1 // java.security.Permission perm
         3: .line 479
            aload 0 /* sm */
            aload 1 /* perm */
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 1 // java.security.Permission perm
         4: .line 482
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            getstatic java.lang.management.ManagementFactory.platformMBeanServer:Ljavax/management/MBeanServer;
            ifnonnull 11
         5: .line 483
            invokestatic javax.management.MBeanServerFactory.createMBeanServer:()Ljavax/management/MBeanServer;
            putstatic java.lang.management.ManagementFactory.platformMBeanServer:Ljavax/management/MBeanServer;
         6: .line 484
            invokestatic java.lang.management.ManagementFactory.platformComponents:()Ljava/util/Collection;
         7: .line 485
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         8: .line 486
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  sun/management/spi/PlatformMBeanProvider$PlatformComponent.shouldRegister()Z (9 itf)
                  (Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         9: .line 487
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/management/ManagementFactory.lambda$2(Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;)Ljava/util/stream/Stream; (6)
                  (Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        10: .line 488
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/lang/management/ManagementFactory.lambda$3(Ljava/util/Map$Entry;)V (6)
                  (Ljava/util/Map$Entry;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        11: .line 490
      StackMap locals:
      StackMap stack:
            getstatic java.lang.management.ManagementFactory.platformMBeanServer:Ljavax/management/MBeanServer;
            areturn
        end local 0 // java.lang.SecurityManager sm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   12     0    sm  Ljava/lang/SecurityManager;
            3    4     1  perm  Ljava/security/Permission;

  public static <T> T newPlatformMXBeanProxy(javax.management.MBeanServerConnection, java.lang.String, java.lang.Class<T>);
    descriptor: (Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // javax.management.MBeanServerConnection connection
        start local 1 // java.lang.String mxbeanName
        start local 2 // java.lang.Class mxbeanInterface
         0: .line 599
            aload 2 /* mxbeanInterface */
            astore 3 /* cls */
        start local 3 // java.lang.Class cls
         1: .line 602
            aload 3 /* cls */
            invokedynamic run(Ljava/lang/Class;)Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/management/ManagementFactory.lambda$4(Ljava/lang/Class;)Ljava/lang/ClassLoader; (6)
                  ()Ljava/lang/ClassLoader;
         2: .line 601
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
         3: .line 600
            astore 4 /* loader */
        start local 4 // java.lang.ClassLoader loader
         4: .line 603
            aload 4 /* loader */
            invokestatic jdk.internal.misc.VM.isSystemDomainLoader:(Ljava/lang/ClassLoader;)Z
            ifne 8
         5: .line 604
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* mxbeanName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 605
            ldc " is not a platform MXBean"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 604
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 609
      StackMap locals: java.lang.Class java.lang.ClassLoader
      StackMap stack:
            new javax.management.ObjectName
            dup
            aload 1 /* mxbeanName */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 5 /* objName */
        start local 5 // javax.management.ObjectName objName
         9: .line 610
            aload 2 /* mxbeanInterface */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 6 /* intfName */
        start local 6 // java.lang.String intfName
        10: .line 611
            aload 0 /* connection */
            aload 5 /* objName */
            aload 6 /* intfName */
            invokestatic java.lang.management.ManagementFactory.isInstanceOf:(Ljavax/management/MBeanServerConnection;Ljavax/management/ObjectName;Ljava/lang/String;)Z
            ifne 14
        11: .line 612
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* mxbeanName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 613
            ldc " is not an instance of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* mxbeanInterface */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 612
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 617
      StackMap locals: javax.management.ObjectName java.lang.String
      StackMap stack:
            aload 0 /* connection */
            aload 5 /* objName */
            ldc "javax.management.NotificationEmitter"
            invokeinterface javax.management.MBeanServerConnection.isInstanceOf:(Ljavax/management/ObjectName;Ljava/lang/String;)Z
            istore 7 /* emitter */
        start local 7 // boolean emitter
        15: .line 620
            aload 0 /* connection */
            aload 5 /* objName */
            aload 2 /* mxbeanInterface */
        16: .line 621
            iload 7 /* emitter */
        17: .line 620
            invokestatic javax.management.JMX.newMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljavax/management/ObjectName;Ljava/lang/Class;Z)Ljava/lang/Object;
        18: areturn
        end local 7 // boolean emitter
        end local 6 // java.lang.String intfName
        end local 5 // javax.management.ObjectName objName
        19: .line 622
      StackMap locals: javax.management.MBeanServerConnection java.lang.String java.lang.Class java.lang.Class java.lang.ClassLoader
      StackMap stack: javax.management.OperationsException
            astore 5 /* e */
        start local 5 // javax.management.OperationsException e
        20: .line 623
            new java.lang.IllegalArgumentException
            dup
            aload 5 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // javax.management.OperationsException e
        end local 4 // java.lang.ClassLoader loader
        end local 3 // java.lang.Class cls
        end local 2 // java.lang.Class mxbeanInterface
        end local 1 // java.lang.String mxbeanName
        end local 0 // javax.management.MBeanServerConnection connection
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   21     0       connection  Ljavax/management/MBeanServerConnection;
            0   21     1       mxbeanName  Ljava/lang/String;
            0   21     2  mxbeanInterface  Ljava/lang/Class<TT;>;
            1   21     3              cls  Ljava/lang/Class<*>;
            4   21     4           loader  Ljava/lang/ClassLoader;
            9   19     5          objName  Ljavax/management/ObjectName;
           10   19     6         intfName  Ljava/lang/String;
           15   19     7          emitter  Z
           20   21     5                e  Ljavax/management/OperationsException;
      Exception table:
        from    to  target  type
           8    18      19  Class javax.management.InstanceNotFoundException
           8    18      19  Class javax.management.MalformedObjectNameException
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                 Name  Flags
      connection       
      mxbeanName       
      mxbeanInterface  

  private static boolean isInstanceOf(javax.management.MBeanServerConnection, javax.management.ObjectName, java.lang.String);
    descriptor: (Ljavax/management/MBeanServerConnection;Ljavax/management/ObjectName;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.management.MBeanServerConnection connection
        start local 1 // javax.management.ObjectName objName
        start local 2 // java.lang.String intfName
         0: .line 645
            ldc "java.util.logging.LoggingMXBean"
            aload 2 /* intfName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 646
            aload 0 /* connection */
            aload 1 /* objName */
         2: .line 647
            ldc Ljava/lang/management/PlatformLoggingMXBean;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         3: .line 646
            invokeinterface javax.management.MBeanServerConnection.isInstanceOf:(Ljavax/management/ObjectName;Ljava/lang/String;)Z
         4: .line 647
            ifeq 6
         5: .line 648
            iconst_1
            ireturn
         6: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* connection */
            aload 1 /* objName */
            aload 2 /* intfName */
            invokeinterface javax.management.MBeanServerConnection.isInstanceOf:(Ljavax/management/ObjectName;Ljava/lang/String;)Z
            ireturn
        end local 2 // java.lang.String intfName
        end local 1 // javax.management.ObjectName objName
        end local 0 // javax.management.MBeanServerConnection connection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0  connection  Ljavax/management/MBeanServerConnection;
            0    7     1     objName  Ljavax/management/ObjectName;
            0    7     2    intfName  Ljava/lang/String;
    Exceptions:
      throws javax.management.InstanceNotFoundException, java.io.IOException
    MethodParameters:
            Name  Flags
      connection  
      objName     
      intfName    

  public static <T extends java.lang.management.PlatformManagedObject> T getPlatformMXBean(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Class mxbeanInterface
         0: .line 684
            aload 0 /* mxbeanInterface */
            invokestatic java.lang.management.ManagementFactory$PlatformMBeanFinder.findSingleton:(Ljava/lang/Class;)Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;
            astore 1 /* pc */
        start local 1 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
         1: .line 686
            aload 1 /* pc */
            aload 0 /* mxbeanInterface */
            invokeinterface sun.management.spi.PlatformMBeanProvider$PlatformComponent.getMBeans:(Ljava/lang/Class;)Ljava/util/List;
            astore 2 /* mbeans */
        start local 2 // java.util.List mbeans
         2: .line 687
            getstatic java.lang.management.ManagementFactory.$assertionsDisabled:Z
            ifne 3
            aload 2 /* mbeans */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 3
            aload 2 /* mbeans */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 688
      StackMap locals: sun.management.spi.PlatformMBeanProvider$PlatformComponent java.util.List
      StackMap stack:
            aload 2 /* mbeans */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
            aconst_null
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 2 /* mbeans */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.management.PlatformManagedObject
      StackMap locals:
      StackMap stack: java.lang.management.PlatformManagedObject
         5: areturn
        end local 2 // java.util.List mbeans
        end local 1 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
        end local 0 // java.lang.Class mxbeanInterface
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0  mxbeanInterface  Ljava/lang/Class<TT;>;
            1    6     1               pc  Lsun/management/spi/PlatformMBeanProvider$PlatformComponent<*>;
            2    6     2           mbeans  Ljava/util/List<+TT;>;
    Signature: <T::Ljava/lang/management/PlatformManagedObject;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                 Name  Flags
      mxbeanInterface  

  public static <T extends java.lang.management.PlatformManagedObject> java.util.List<T> getPlatformMXBeans(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class mxbeanInterface
         0: .line 719
            aload 0 /* mxbeanInterface */
            invokestatic java.lang.management.ManagementFactory$PlatformMBeanFinder.findFirst:(Ljava/lang/Class;)Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;
            astore 1 /* pc */
        start local 1 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
         1: .line 720
            aload 1 /* pc */
            ifnonnull 5
         2: .line 721
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* mxbeanInterface */
            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
         3: .line 722
            ldc " is not a platform management interface"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 721
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 725
      StackMap locals: sun.management.spi.PlatformMBeanProvider$PlatformComponent
      StackMap stack:
            invokestatic java.lang.management.ManagementFactory.platformComponents:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         6: .line 726
            aload 0 /* mxbeanInterface */
            invokedynamic apply(Ljava/lang/Class;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/management/ManagementFactory.lambda$5(Ljava/lang/Class;Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;)Ljava/util/stream/Stream; (6)
                  (Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         7: .line 727
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         8: .line 725
            areturn
        end local 1 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
        end local 0 // java.lang.Class mxbeanInterface
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0  mxbeanInterface  Ljava/lang/Class<TT;>;
            1    9     1               pc  Lsun/management/spi/PlatformMBeanProvider$PlatformComponent<*>;
    Signature: <T::Ljava/lang/management/PlatformManagedObject;>(Ljava/lang/Class<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
                 Name  Flags
      mxbeanInterface  

  public static <T extends java.lang.management.PlatformManagedObject> T getPlatformMXBean(javax.management.MBeanServerConnection, java.lang.Class<T>);
    descriptor: (Ljavax/management/MBeanServerConnection;Ljava/lang/Class;)Ljava/lang/management/PlatformManagedObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.management.MBeanServerConnection connection
        start local 1 // java.lang.Class mxbeanInterface
         0: .line 770
            aload 1 /* mxbeanInterface */
            invokestatic java.lang.management.ManagementFactory$PlatformMBeanFinder.findSingleton:(Ljava/lang/Class;)Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;
            astore 2 /* pc */
        start local 2 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
         1: .line 771
            aload 0 /* connection */
            aload 2 /* pc */
            invokeinterface sun.management.spi.PlatformMBeanProvider$PlatformComponent.getObjectNamePattern:()Ljava/lang/String;
            aload 1 /* mxbeanInterface */
            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 2 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
        end local 1 // java.lang.Class mxbeanInterface
        end local 0 // javax.management.MBeanServerConnection connection
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0       connection  Ljavax/management/MBeanServerConnection;
            0    2     1  mxbeanInterface  Ljava/lang/Class<TT;>;
            1    2     2               pc  Lsun/management/spi/PlatformMBeanProvider$PlatformComponent<*>;
    Exceptions:
      throws java.io.IOException
    Signature: <T::Ljava/lang/management/PlatformManagedObject;>(Ljavax/management/MBeanServerConnection;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                 Name  Flags
      connection       
      mxbeanInterface  

  public static <T extends java.lang.management.PlatformManagedObject> java.util.List<T> getPlatformMXBeans(javax.management.MBeanServerConnection, java.lang.Class<T>);
    descriptor: (Ljavax/management/MBeanServerConnection;Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // javax.management.MBeanServerConnection connection
        start local 1 // java.lang.Class mxbeanInterface
         0: .line 811
            aload 1 /* mxbeanInterface */
            invokestatic java.lang.management.ManagementFactory$PlatformMBeanFinder.findFirst:(Ljava/lang/Class;)Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;
            astore 2 /* pc */
        start local 2 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
         1: .line 812
            aload 2 /* pc */
            ifnonnull 5
         2: .line 813
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* mxbeanInterface */
            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
         3: .line 814
            ldc " is not a platform management interface"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 813
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 818
      StackMap locals: sun.management.spi.PlatformMBeanProvider$PlatformComponent
      StackMap stack:
            invokestatic java.util.stream.Stream.empty:()Ljava/util/stream/Stream;
            astore 3 /* names */
        start local 3 // java.util.stream.Stream names
         6: .line 819
            invokestatic java.lang.management.ManagementFactory.platformComponents:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: javax.management.MBeanServerConnection java.lang.Class sun.management.spi.PlatformMBeanProvider$PlatformComponent java.util.stream.Stream top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.management.spi.PlatformMBeanProvider$PlatformComponent
            astore 4 /* p */
        start local 4 // sun.management.spi.PlatformMBeanProvider$PlatformComponent p
         8: .line 820
            aload 3 /* names */
            aload 4 /* p */
            aload 0 /* connection */
            aload 1 /* mxbeanInterface */
            invokestatic java.lang.management.ManagementFactory.getProxyNames:(Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;Ljavax/management/MBeanServerConnection;Ljava/lang/Class;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
            astore 3 /* names */
        end local 4 // sun.management.spi.PlatformMBeanProvider$PlatformComponent p
         9: .line 819
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 822
            aload 3 /* names */
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 4 /* objectNames */
        start local 4 // java.util.Set objectNames
        11: .line 823
            aload 4 /* objectNames */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 12
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        12: .line 826
      StackMap locals: javax.management.MBeanServerConnection java.lang.Class sun.management.spi.PlatformMBeanProvider$PlatformComponent java.util.stream.Stream java.util.Set
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* proxies */
        start local 5 // java.util.List proxies
        13: .line 827
            aload 4 /* objectNames */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 16
      StackMap locals: javax.management.MBeanServerConnection java.lang.Class sun.management.spi.PlatformMBeanProvider$PlatformComponent java.util.stream.Stream java.util.Set java.util.List top java.util.Iterator
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
        15: .line 828
            aload 5 /* proxies */
            aload 0 /* connection */
            aload 6 /* name */
            aload 1 /* mxbeanInterface */
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.management.PlatformManagedObject
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String name
        16: .line 827
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        17: .line 830
            aload 5 /* proxies */
            areturn
        end local 5 // java.util.List proxies
        end local 4 // java.util.Set objectNames
        end local 3 // java.util.stream.Stream names
        end local 2 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
        end local 1 // java.lang.Class mxbeanInterface
        end local 0 // javax.management.MBeanServerConnection connection
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0       connection  Ljavax/management/MBeanServerConnection;
            0   18     1  mxbeanInterface  Ljava/lang/Class<TT;>;
            1   18     2               pc  Lsun/management/spi/PlatformMBeanProvider$PlatformComponent<*>;
            6   18     3            names  Ljava/util/stream/Stream<Ljava/lang/String;>;
            8    9     4                p  Lsun/management/spi/PlatformMBeanProvider$PlatformComponent<*>;
           11   18     4      objectNames  Ljava/util/Set<Ljava/lang/String;>;
           13   18     5          proxies  Ljava/util/List<TT;>;
           15   16     6             name  Ljava/lang/String;
    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
      connection       
      mxbeanInterface  

  private static java.util.stream.Stream<java.lang.String> getProxyNames(sun.management.spi.PlatformMBeanProvider$PlatformComponent<?>, javax.management.MBeanServerConnection, java.lang.Class<?>);
    descriptor: (Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;Ljavax/management/MBeanServerConnection;Ljava/lang/Class;)Ljava/util/stream/Stream;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
        start local 1 // javax.management.MBeanServerConnection conn
        start local 2 // java.lang.Class intf
         0: .line 848
            aload 0 /* pc */
            invokeinterface sun.management.spi.PlatformMBeanProvider$PlatformComponent.mbeanInterfaceNames:()Ljava/util/Set;
            aload 2 /* intf */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 849
            aload 0 /* pc */
            invokeinterface sun.management.spi.PlatformMBeanProvider$PlatformComponent.isSingleton:()Z
            ifeq 3
         2: .line 850
            aload 0 /* pc */
            invokeinterface sun.management.spi.PlatformMBeanProvider$PlatformComponent.getObjectNamePattern:()Ljava/lang/String;
            invokestatic java.util.stream.Stream.of:(Ljava/lang/Object;)Ljava/util/stream/Stream;
            areturn
         3: .line 852
      StackMap locals:
      StackMap stack:
            aload 1 /* conn */
            aload 0 /* pc */
            invokeinterface sun.management.spi.PlatformMBeanProvider$PlatformComponent.getObjectNamePattern:()Ljava/lang/String;
            invokestatic sun.management.Util.newObjectName:(Ljava/lang/String;)Ljavax/management/ObjectName;
            aconst_null
            invokeinterface javax.management.MBeanServerConnection.queryNames:(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;
         4: .line 853
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  javax/management/ObjectName.getCanonicalName()Ljava/lang/String; (5)
                  (Ljavax/management/ObjectName;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         5: .line 852
            areturn
         6: .line 856
      StackMap locals:
      StackMap stack:
            invokestatic java.util.stream.Stream.empty:()Ljava/util/stream/Stream;
            areturn
        end local 2 // java.lang.Class intf
        end local 1 // javax.management.MBeanServerConnection conn
        end local 0 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    pc  Lsun/management/spi/PlatformMBeanProvider$PlatformComponent<*>;
            0    7     1  conn  Ljavax/management/MBeanServerConnection;
            0    7     2  intf  Ljava/lang/Class<*>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lsun/management/spi/PlatformMBeanProvider$PlatformComponent<*>;Ljavax/management/MBeanServerConnection;Ljava/lang/Class<*>;)Ljava/util/stream/Stream<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      pc    
      conn  
      intf  

  public static java.util.Set<java.lang.Class<? extends java.lang.management.PlatformManagedObject>> getPlatformManagementInterfaces();
    descriptor: ()Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 876
            invokestatic java.lang.management.ManagementFactory.platformComponents:()Ljava/util/Collection;
         1: .line 877
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         2: .line 878
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/management/ManagementFactory.lambda$7(Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;)Ljava/util/stream/Stream; (6)
                  (Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 879
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  java/lang/management/ManagementFactory.lambda$8(Ljava/lang/Class;)Z (6)
                  (Ljava/lang/Class;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         4: .line 880
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/management/ManagementFactory.lambda$9(Ljava/lang/Class;)Ljava/lang/Class; (6)
                  (Ljava/lang/Class;)Ljava/lang/Class;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         5: .line 876
            astore 0 /* pmos */
        start local 0 // java.util.stream.Stream pmos
         6: .line 881
            aload 0 /* pmos */
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
            areturn
        end local 0 // java.util.stream.Stream pmos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            6    7     0  pmos  Ljava/util/stream/Stream<Ljava/lang/Class<+Ljava/lang/management/PlatformManagedObject;>;>;
    Signature: ()Ljava/util/Set<Ljava/lang/Class<+Ljava/lang/management/PlatformManagedObject;>;>;

  private static void addMXBean(javax.management.MBeanServer, java.lang.String, java.lang.Object);
    descriptor: (Ljavax/management/MBeanServer;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // javax.management.MBeanServer mbs
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object pmo
         0: .line 890
            aload 1 /* name */
            invokestatic javax.management.ObjectName.getInstance:(Ljava/lang/String;)Ljavax/management/ObjectName;
            astore 3 /* oname */
        start local 3 // javax.management.ObjectName oname
         1: .line 892
            aload 2 /* pmo */
            aload 0 /* mbs */
            aload 3 /* oname */
            invokedynamic run(Ljava/lang/Object;Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)Ljava/security/PrivilegedExceptionAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/management/ManagementFactory.lambda$10(Ljava/lang/Object;Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)Ljava/lang/Void; (6)
                  ()Ljava/lang/Void;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
        end local 3 // javax.management.ObjectName oname
         2: .line 905
            goto 7
      StackMap locals:
      StackMap stack: javax.management.MalformedObjectNameException
         3: astore 3 /* mone */
        start local 3 // javax.management.MalformedObjectNameException mone
         4: .line 906
            new java.lang.IllegalArgumentException
            dup
            aload 3 /* mone */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // javax.management.MalformedObjectNameException mone
         5: .line 907
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
            astore 3 /* e */
        start local 3 // java.security.PrivilegedActionException e
         6: .line 908
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.PrivilegedActionException e
         7: .line 910
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object pmo
        end local 1 // java.lang.String name
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0    mbs  Ljavax/management/MBeanServer;
            0    8     1   name  Ljava/lang/String;
            0    8     2    pmo  Ljava/lang/Object;
            1    2     3  oname  Ljavax/management/ObjectName;
            4    5     3   mone  Ljavax/management/MalformedObjectNameException;
            6    7     3      e  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           0     2       3  Class javax.management.MalformedObjectNameException
           0     2       5  Class java.security.PrivilegedActionException
    MethodParameters:
      Name  Flags
      mbs   final
      name  
      pmo   final

  private static java.util.Collection<sun.management.spi.PlatformMBeanProvider$PlatformComponent<?>> platformComponents();
    descriptor: ()Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 914
            invokestatic java.lang.management.ManagementFactory$PlatformMBeanFinder.getMap:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Collection<Lsun/management/spi/PlatformMBeanProvider$PlatformComponent<*>;>;

  private static java.lang.Void lambda$0();
    descriptor: ()Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1020
            ldc "management"
            invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
         1: .line 1021
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.stream.Stream lambda$2(sun.management.spi.PlatformMBeanProvider$PlatformComponent);
    descriptor: (Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;)Ljava/util/stream/Stream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
         0: .line 487
            aload 0 /* pc */
            invokeinterface sun.management.spi.PlatformMBeanProvider$PlatformComponent.nameToMBeanMap:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            areturn
        end local 0 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    pc  Lsun/management/spi/PlatformMBeanProvider$PlatformComponent<*>;

  private static void lambda$3(java.util.Map$Entry);
    descriptor: (Ljava/util/Map$Entry;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Map$Entry entry
         0: .line 488
            getstatic java.lang.management.ManagementFactory.platformMBeanServer:Ljavax/management/MBeanServer;
            aload 0 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokestatic java.lang.management.ManagementFactory.addMXBean:(Ljavax/management/MBeanServer;Ljava/lang/String;Ljava/lang/Object;)V
            return
        end local 0 // java.util.Map$Entry entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;

  private static java.lang.ClassLoader lambda$4(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/ClassLoader;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 602
            aload 0
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.stream.Stream lambda$5(java.lang.Class, sun.management.spi.PlatformMBeanProvider$PlatformComponent);
    descriptor: (Ljava/lang/Class;Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;)Ljava/util/stream/Stream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // sun.management.spi.PlatformMBeanProvider$PlatformComponent p
         0: .line 726
            aload 1 /* p */
            aload 0
            invokeinterface sun.management.spi.PlatformMBeanProvider$PlatformComponent.getMBeans:(Ljava/lang/Class;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 1 // sun.management.spi.PlatformMBeanProvider$PlatformComponent p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     p  Lsun/management/spi/PlatformMBeanProvider$PlatformComponent<*>;

  private static java.util.stream.Stream lambda$7(sun.management.spi.PlatformMBeanProvider$PlatformComponent);
    descriptor: (Lsun/management/spi/PlatformMBeanProvider$PlatformComponent;)Ljava/util/stream/Stream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
         0: .line 878
            aload 0 /* pc */
            invokeinterface sun.management.spi.PlatformMBeanProvider$PlatformComponent.mbeanInterfaces:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            areturn
        end local 0 // sun.management.spi.PlatformMBeanProvider$PlatformComponent pc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    pc  Lsun/management/spi/PlatformMBeanProvider$PlatformComponent<*>;

  private static boolean lambda$8(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 879
            ldc Ljava/lang/management/PlatformManagedObject;
            aload 0 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ireturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class<+Ljava/lang/Object;>;

  private static java.lang.Class lambda$9(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 880
            aload 0 /* clazz */
            ldc Ljava/lang/management/PlatformManagedObject;
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class<+Ljava/lang/Object;>;

  private static java.lang.Void lambda$10(java.lang.Object, javax.management.MBeanServer, javax.management.ObjectName);
    descriptor: (Ljava/lang/Object;Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=4, args_size=3
         0: .line 894
            aload 0
            instanceof javax.management.DynamicMBean
            ifeq 3
         1: .line 895
            ldc Ljavax/management/DynamicMBean;
            aload 0
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.management.DynamicMBean
            astore 3 /* dmbean */
        start local 3 // javax.management.DynamicMBean dmbean
         2: .line 896
            goto 7
        end local 3 // javax.management.DynamicMBean dmbean
      StackMap locals:
      StackMap stack:
         3: aload 0
            instanceof javax.management.NotificationEmitter
            ifeq 6
         4: .line 897
            new javax.management.StandardEmitterMBean
            dup
            aload 0
            aconst_null
            iconst_1
            aload 0
            checkcast javax.management.NotificationEmitter
            invokespecial javax.management.StandardEmitterMBean.<init>:(Ljava/lang/Object;Ljava/lang/Class;ZLjavax/management/NotificationEmitter;)V
            astore 3 /* dmbean */
        start local 3 // javax.management.DynamicMBean dmbean
         5: .line 898
            goto 7
        end local 3 // javax.management.DynamicMBean dmbean
         6: .line 899
      StackMap locals:
      StackMap stack:
            new javax.management.StandardMBean
            dup
            aload 0
            aconst_null
            iconst_1
            invokespecial javax.management.StandardMBean.<init>:(Ljava/lang/Object;Ljava/lang/Class;Z)V
            astore 3 /* dmbean */
        start local 3 // javax.management.DynamicMBean dmbean
         7: .line 902
      StackMap locals: javax.management.DynamicMBean
      StackMap stack:
            aload 1
            aload 3 /* dmbean */
            aload 2
            invokeinterface javax.management.MBeanServer.registerMBean:(Ljava/lang/Object;Ljavax/management/ObjectName;)Ljavax/management/ObjectInstance;
            pop
         8: .line 903
            aconst_null
            areturn
        end local 3 // javax.management.DynamicMBean dmbean
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            2    3     3  dmbean  Ljavax/management/DynamicMBean;
            5    6     3  dmbean  Ljavax/management/DynamicMBean;
            7    9     3  dmbean  Ljavax/management/DynamicMBean;
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "ManagementFactory.java"
NestMembers:
  java.lang.management.ManagementFactory$PlatformMBeanFinder
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private PlatformMBeanFinder = java.lang.management.ManagementFactory$PlatformMBeanFinder of java.lang.management.ManagementFactory
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract PlatformComponent = sun.management.spi.PlatformMBeanProvider$PlatformComponent of sun.management.spi.PlatformMBeanProvider