public class javax.management.MBeanServerFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.management.MBeanServerFactory
  super_class: java.lang.Object
{
  private static javax.management.MBeanServerBuilder builder;
    descriptor: Ljavax/management/MBeanServerBuilder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.util.ArrayList<javax.management.MBeanServer> mBeanServerList;
    descriptor: Ljava/util/ArrayList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/ArrayList<Ljavax/management/MBeanServer;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 100
            aconst_null
            putstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
         1: .line 429
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
         2: .line 428
            putstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
         3: .line 429
            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 // javax.management.MBeanServerFactory this
         0: .line 92
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 94
            return
        end local 0 // javax.management.MBeanServerFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/management/MBeanServerFactory;

  public static void releaseMBeanServer(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.MBeanServer mbeanServer
         0: .line 151
            ldc "releaseMBeanServer"
            invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
         1: .line 153
            aload 0 /* mbeanServer */
            invokestatic javax.management.MBeanServerFactory.removeMBeanServer:(Ljavax/management/MBeanServer;)V
         2: .line 154
            return
        end local 0 // javax.management.MBeanServer mbeanServer
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  mbeanServer  Ljavax/management/MBeanServer;
    MethodParameters:
             Name  Flags
      mbeanServer  

  public static javax.management.MBeanServer createMBeanServer();
    descriptor: ()Ljavax/management/MBeanServer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 191
            aconst_null
            invokestatic javax.management.MBeanServerFactory.createMBeanServer:(Ljava/lang/String;)Ljavax/management/MBeanServer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static javax.management.MBeanServer createMBeanServer(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/management/MBeanServer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.String domain
         0: .line 228
            ldc "createMBeanServer"
            invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
         1: .line 230
            aload 0 /* domain */
            invokestatic javax.management.MBeanServerFactory.newMBeanServer:(Ljava/lang/String;)Ljavax/management/MBeanServer;
            astore 1 /* mBeanServer */
        start local 1 // javax.management.MBeanServer mBeanServer
         2: .line 231
            aload 1 /* mBeanServer */
            invokestatic javax.management.MBeanServerFactory.addMBeanServer:(Ljavax/management/MBeanServer;)V
         3: .line 232
            aload 1 /* mBeanServer */
            areturn
        end local 1 // javax.management.MBeanServer mBeanServer
        end local 0 // java.lang.String domain
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0       domain  Ljava/lang/String;
            2    4     1  mBeanServer  Ljavax/management/MBeanServer;
    MethodParameters:
        Name  Flags
      domain  

  public static javax.management.MBeanServer newMBeanServer();
    descriptor: ()Ljavax/management/MBeanServer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 272
            aconst_null
            invokestatic javax.management.MBeanServerFactory.newMBeanServer:(Ljava/lang/String;)Ljavax/management/MBeanServer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static javax.management.MBeanServer newMBeanServer(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/management/MBeanServer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String domain
         0: .line 311
            ldc "newMBeanServer"
            invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
         1: .line 315
            invokestatic javax.management.MBeanServerFactory.getNewMBeanServerBuilder:()Ljavax/management/MBeanServerBuilder;
            astore 1 /* mbsBuilder */
        start local 1 // javax.management.MBeanServerBuilder mbsBuilder
         2: .line 318
            aload 1 /* mbsBuilder */
            dup
            astore 2
            monitorenter
         3: .line 320
            aload 1 /* mbsBuilder */
            invokevirtual javax.management.MBeanServerBuilder.newMBeanServerDelegate:()Ljavax/management/MBeanServerDelegate;
         4: .line 319
            astore 3 /* delegate */
        start local 3 // javax.management.MBeanServerDelegate delegate
         5: .line 321
            aload 3 /* delegate */
            ifnonnull 7
         6: .line 325
            new javax.management.JMRuntimeException
            dup
            ldc "MBeanServerBuilder.newMBeanServerDelegate() returned null"
            invokespecial javax.management.JMRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 328
      StackMap locals: javax.management.MBeanServerBuilder javax.management.MBeanServerBuilder javax.management.MBeanServerDelegate
      StackMap stack:
            aload 1 /* mbsBuilder */
            aload 0 /* domain */
            aconst_null
            aload 3 /* delegate */
            invokevirtual javax.management.MBeanServerBuilder.newMBeanServer:(Ljava/lang/String;Ljavax/management/MBeanServer;Ljavax/management/MBeanServerDelegate;)Ljavax/management/MBeanServer;
         8: .line 327
            astore 4 /* mbeanServer */
        start local 4 // javax.management.MBeanServer mbeanServer
         9: .line 329
            aload 4 /* mbeanServer */
            ifnonnull 11
        10: .line 332
            new javax.management.JMRuntimeException
            dup
            ldc "MBeanServerBuilder.newMBeanServer() returned null"
            invokespecial javax.management.JMRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 334
      StackMap locals: javax.management.MBeanServer
      StackMap stack:
            aload 4 /* mbeanServer */
            aload 2
            monitorexit
        12: areturn
        end local 4 // javax.management.MBeanServer mbeanServer
        end local 3 // javax.management.MBeanServerDelegate delegate
        13: .line 318
      StackMap locals: java.lang.String javax.management.MBeanServerBuilder javax.management.MBeanServerBuilder
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        14: athrow
        end local 1 // javax.management.MBeanServerBuilder mbsBuilder
        end local 0 // java.lang.String domain
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0       domain  Ljava/lang/String;
            2   15     1   mbsBuilder  Ljavax/management/MBeanServerBuilder;
            5   13     3     delegate  Ljavax/management/MBeanServerDelegate;
            9   13     4  mbeanServer  Ljavax/management/MBeanServer;
      Exception table:
        from    to  target  type
           3    12      13  any
          13    14      13  any
    MethodParameters:
        Name  Flags
      domain  

  public static synchronized java.util.ArrayList<javax.management.MBeanServer> findMBeanServer(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/ArrayList;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String agentId
         0: .line 360
            ldc "findMBeanServer"
            invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
         1: .line 362
            aload 0 /* agentId */
            ifnonnull 3
         2: .line 363
            new java.util.ArrayList
            dup
            getstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
         3: .line 365
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.ArrayList result
         4: .line 366
            getstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: java.lang.String java.util.ArrayList top java.util.Iterator
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.MBeanServer
            astore 2 /* mbs */
        start local 2 // javax.management.MBeanServer mbs
         6: .line 367
            aload 2 /* mbs */
            invokestatic javax.management.MBeanServerFactory.mBeanServerName:(Ljavax/management/MBeanServer;)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         7: .line 368
            aload 0 /* agentId */
            aload 4 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 369
            aload 1 /* result */
            aload 2 /* mbs */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String name
        end local 2 // javax.management.MBeanServer mbs
         9: .line 366
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 371
            aload 1 /* result */
            areturn
        end local 1 // java.util.ArrayList result
        end local 0 // java.lang.String agentId
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0  agentId  Ljava/lang/String;
            4   11     1   result  Ljava/util/ArrayList<Ljavax/management/MBeanServer;>;
            6    9     2      mbs  Ljavax/management/MBeanServer;
            7    9     4     name  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/ArrayList<Ljavax/management/MBeanServer;>;
    MethodParameters:
         Name  Flags
      agentId  

  public static javax.management.loading.ClassLoaderRepository getClassLoaderRepository(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)Ljavax/management/loading/ClassLoaderRepository;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.MBeanServer server
         0: .line 392
            aload 0 /* server */
            invokeinterface javax.management.MBeanServer.getClassLoaderRepository:()Ljavax/management/loading/ClassLoaderRepository;
            areturn
        end local 0 // javax.management.MBeanServer server
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  server  Ljavax/management/MBeanServer;
    MethodParameters:
        Name  Flags
      server  

  private static java.lang.String mBeanServerName(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.management.MBeanServer mbs
         0: .line 397
            aload 0 /* mbs */
            getstatic javax.management.MBeanServerDelegate.DELEGATE_NAME:Ljavax/management/ObjectName;
         1: .line 398
            ldc "MBeanServerId"
         2: .line 397
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
         3: areturn
         4: .line 399
      StackMap locals:
      StackMap stack: javax.management.JMException
            pop
         5: .line 400
            aconst_null
            areturn
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   mbs  Ljavax/management/MBeanServer;
      Exception table:
        from    to  target  type
           0     3       4  Class javax.management.JMException
    MethodParameters:
      Name  Flags
      mbs   

  private static void checkPermission(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String action
         0: .line 406
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 407
            aload 1 /* sm */
            ifnull 4
         2: .line 408
            new javax.management.MBeanServerPermission
            dup
            aload 0 /* action */
            invokespecial javax.management.MBeanServerPermission.<init>:(Ljava/lang/String;)V
            astore 2 /* perm */
        start local 2 // java.security.Permission perm
         3: .line 409
            aload 1 /* sm */
            aload 2 /* perm */
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 2 // java.security.Permission perm
         4: .line 411
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.String action
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  action  Ljava/lang/String;
            1    5     1      sm  Ljava/lang/SecurityManager;
            3    4     2    perm  Ljava/security/Permission;
    Exceptions:
      throws java.lang.SecurityException
    MethodParameters:
        Name  Flags
      action  

  private static synchronized void addMBeanServer(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.management.MBeanServer mbs
         0: .line 414
            getstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
            aload 0 /* mbs */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 415
            return
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   mbs  Ljavax/management/MBeanServer;
    MethodParameters:
      Name  Flags
      mbs   

  private static synchronized void removeMBeanServer(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // javax.management.MBeanServer mbs
         0: .line 418
            getstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
            aload 0 /* mbs */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            istore 1 /* removed */
        start local 1 // boolean removed
         1: .line 419
            iload 1 /* removed */
            ifne 8
         2: .line 420
            getstatic com.sun.jmx.defaults.JmxProperties.MBEANSERVER_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
         3: .line 421
            ldc Ljavax/management/MBeanServerFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 422
            ldc "removeMBeanServer(MBeanServer)"
         5: .line 423
            ldc "MBeanServer was not in list!"
         6: .line 420
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         7: .line 424
            new java.lang.IllegalArgumentException
            dup
            ldc "MBeanServer was not in list!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 426
      StackMap locals: int
      StackMap stack:
            return
        end local 1 // boolean removed
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0      mbs  Ljavax/management/MBeanServer;
            1    9     1  removed  Z
    MethodParameters:
      Name  Flags
      mbs   

  private static java.lang.Class loadBuilderClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String builderClassName
         0: .line 438
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
         1: .line 437
            astore 1 /* loader */
        start local 1 // java.lang.ClassLoader loader
         2: .line 440
            aload 1 /* loader */
            ifnull 4
         3: .line 442
            aload 1 /* loader */
            aload 0 /* builderClassName */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
         4: .line 446
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* builderClassName */
            invokestatic sun.reflect.misc.ReflectUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.ClassLoader loader
        end local 0 // java.lang.String builderClassName
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0  builderClassName  Ljava/lang/String;
            2    5     1            loader  Ljava/lang/ClassLoader;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
                  Name  Flags
      builderClassName  

  private static javax.management.MBeanServerBuilder newBuilder(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljavax/management/MBeanServerBuilder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Class builderClass
         0: .line 457
            aload 0 /* builderClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            astore 1 /* builder */
        start local 1 // java.lang.Object builder
         1: .line 458
            aload 1 /* builder */
            checkcast javax.management.MBeanServerBuilder
         2: areturn
        end local 1 // java.lang.Object builder
         3: .line 459
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 1 /* x */
        start local 1 // java.lang.RuntimeException x
         4: .line 460
            aload 1 /* x */
            athrow
        end local 1 // java.lang.RuntimeException x
         5: .line 461
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* x */
        start local 1 // java.lang.Exception x
         6: .line 463
            new java.lang.StringBuilder
            dup
            ldc "Failed to instantiate a MBeanServerBuilder from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 464
            aload 0 /* builderClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* x */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         8: .line 463
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 462
            astore 2 /* msg */
        start local 2 // java.lang.String msg
        10: .line 465
            new javax.management.JMRuntimeException
            dup
            aload 2 /* msg */
            aload 1 /* x */
            invokespecial javax.management.JMRuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.String msg
        end local 1 // java.lang.Exception x
        end local 0 // java.lang.Class builderClass
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0  builderClass  Ljava/lang/Class;
            1    3     1       builder  Ljava/lang/Object;
            4    5     1             x  Ljava/lang/RuntimeException;
            6   11     1             x  Ljava/lang/Exception;
           10   11     2           msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.RuntimeException
           0     2       5  Class java.lang.Exception
    MethodParameters:
              Name  Flags
      builderClass  

  private static synchronized void checkMBeanServerBuilder();
    descriptor: ()V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=4, args_size=0
         0: .line 476
            new com.sun.jmx.mbeanserver.GetPropertyAction
            dup
            ldc "javax.management.builder.initial"
            invokespecial com.sun.jmx.mbeanserver.GetPropertyAction.<init>:(Ljava/lang/String;)V
         1: .line 475
            astore 0 /* act */
        start local 0 // com.sun.jmx.mbeanserver.GetPropertyAction act
         2: .line 477
            aload 0 /* act */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* builderClassName */
        start local 1 // java.lang.String builderClassName
         3: .line 481
            aload 1 /* builderClassName */
            ifnull 4
            aload 1 /* builderClassName */
            invokevirtual java.lang.String.length:()I
            ifne 6
         4: .line 482
      StackMap locals: com.sun.jmx.mbeanserver.GetPropertyAction java.lang.String
      StackMap stack:
            ldc Ljavax/management/MBeanServerBuilder;
            astore 2 /* newBuilderClass */
        start local 2 // java.lang.Class newBuilderClass
         5: goto 7
        end local 2 // java.lang.Class newBuilderClass
         6: .line 484
      StackMap locals:
      StackMap stack:
            aload 1 /* builderClassName */
            invokestatic javax.management.MBeanServerFactory.loadBuilderClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* newBuilderClass */
        start local 2 // java.lang.Class newBuilderClass
         7: .line 487
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
            ifnull 11
         8: .line 488
            getstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 3 /* builderClass */
        start local 3 // java.lang.Class builderClass
         9: .line 489
            aload 2 /* newBuilderClass */
            aload 3 /* builderClass */
            if_acmpne 11
        10: .line 490
            return
        end local 3 // java.lang.Class builderClass
        11: .line 494
      StackMap locals:
      StackMap stack:
            aload 2 /* newBuilderClass */
            invokestatic javax.management.MBeanServerFactory.newBuilder:(Ljava/lang/Class;)Ljavax/management/MBeanServerBuilder;
            putstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
        end local 2 // java.lang.Class newBuilderClass
        12: .line 495
            goto 32
      StackMap locals: com.sun.jmx.mbeanserver.GetPropertyAction java.lang.String
      StackMap stack: java.lang.ClassNotFoundException
        13: astore 2 /* x */
        start local 2 // java.lang.ClassNotFoundException x
        14: .line 497
            new java.lang.StringBuilder
            dup
            ldc "Failed to load MBeanServerBuilder class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 498
            aload 1 /* builderClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* x */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        16: .line 497
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 496
            astore 3 /* msg */
        start local 3 // java.lang.String msg
        18: .line 499
            new javax.management.JMRuntimeException
            dup
            aload 3 /* msg */
            aload 2 /* x */
            invokespecial javax.management.JMRuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.String msg
        end local 2 // java.lang.ClassNotFoundException x
        end local 1 // java.lang.String builderClassName
        end local 0 // com.sun.jmx.mbeanserver.GetPropertyAction act
        19: .line 501
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 0 /* x */
        start local 0 // java.lang.RuntimeException x
        20: .line 502
            getstatic com.sun.jmx.defaults.JmxProperties.MBEANSERVER_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 31
        21: .line 503
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
        22: .line 504
            ldc "Failed to instantiate MBeanServerBuilder: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* x */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        23: .line 505
            ldc "\n\t\tCheck the value of the "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 506
            ldc "javax.management.builder.initial"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " property."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 503
            astore 1 /* strb */
        start local 1 // java.lang.StringBuilder strb
        26: .line 507
            getstatic com.sun.jmx.defaults.JmxProperties.MBEANSERVER_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
        27: .line 508
            ldc Ljavax/management/MBeanServerFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        28: .line 509
            ldc "checkMBeanServerBuilder"
        29: .line 510
            aload 1 /* strb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 507
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 1 // java.lang.StringBuilder strb
        31: .line 512
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            aload 0 /* x */
            athrow
        end local 0 // java.lang.RuntimeException x
        32: .line 514
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            2   19     0               act  Lcom/sun/jmx/mbeanserver/GetPropertyAction;
            3   19     1  builderClassName  Ljava/lang/String;
            5    6     2   newBuilderClass  Ljava/lang/Class;
            7   12     2   newBuilderClass  Ljava/lang/Class;
            9   11     3      builderClass  Ljava/lang/Class;
           14   19     2                 x  Ljava/lang/ClassNotFoundException;
           18   19     3               msg  Ljava/lang/String;
           20   32     0                 x  Ljava/lang/RuntimeException;
           26   31     1              strb  Ljava/lang/StringBuilder;
      Exception table:
        from    to  target  type
           3    10      13  Class java.lang.ClassNotFoundException
          11    12      13  Class java.lang.ClassNotFoundException
           0    10      19  Class java.lang.RuntimeException
          11    19      19  Class java.lang.RuntimeException

  private static synchronized javax.management.MBeanServerBuilder getNewMBeanServerBuilder();
    descriptor: ()Ljavax/management/MBeanServerBuilder;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=0, args_size=0
         0: .line 535
            invokestatic javax.management.MBeanServerFactory.checkMBeanServerBuilder:()V
         1: .line 536
            getstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "MBeanServerFactory.java"