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 101
            aconst_null
            putstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
         1: .line 433
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
         2: .line 432
            putstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
         3: .line 433
            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 93
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 95
            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 152
            ldc "releaseMBeanServer"
            invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
         1: .line 154
            aload 0 /* mbeanServer */
            invokestatic javax.management.MBeanServerFactory.removeMBeanServer:(Ljavax/management/MBeanServer;)V
         2: .line 155
            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 192
            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 229
            ldc "createMBeanServer"
            invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
         1: .line 231
            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 232
            aload 1 /* mBeanServer */
            invokestatic javax.management.MBeanServerFactory.addMBeanServer:(Ljavax/management/MBeanServer;)V
         3: .line 233
            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 273
            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 312
            ldc "newMBeanServer"
            invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
         1: .line 316
            invokestatic javax.management.MBeanServerFactory.getNewMBeanServerBuilder:()Ljavax/management/MBeanServerBuilder;
            astore 1 /* mbsBuilder */
        start local 1 // javax.management.MBeanServerBuilder mbsBuilder
         2: .line 319
            aload 1 /* mbsBuilder */
            dup
            astore 2
            monitorenter
         3: .line 321
            aload 1 /* mbsBuilder */
            invokevirtual javax.management.MBeanServerBuilder.newMBeanServerDelegate:()Ljavax/management/MBeanServerDelegate;
         4: .line 320
            astore 3 /* delegate */
        start local 3 // javax.management.MBeanServerDelegate delegate
         5: .line 322
            aload 3 /* delegate */
            ifnonnull 7
         6: .line 326
            new javax.management.JMRuntimeException
            dup
            ldc "MBeanServerBuilder.newMBeanServerDelegate() returned null"
            invokespecial javax.management.JMRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 329
      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 328
            astore 4 /* mbeanServer */
        start local 4 // javax.management.MBeanServer mbeanServer
         9: .line 330
            aload 4 /* mbeanServer */
            ifnonnull 11
        10: .line 333
            new javax.management.JMRuntimeException
            dup
            ldc "MBeanServerBuilder.newMBeanServer() returned null"
            invokespecial javax.management.JMRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 335
      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 319
      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 361
            ldc "findMBeanServer"
            invokestatic javax.management.MBeanServerFactory.checkPermission:(Ljava/lang/String;)V
         1: .line 363
            aload 0 /* agentId */
            ifnonnull 3
         2: .line 364
            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 366
      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 367
            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 368
            aload 2 /* mbs */
            invokestatic javax.management.MBeanServerFactory.mBeanServerId:(Ljavax/management/MBeanServer;)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         7: .line 369
            aload 0 /* agentId */
            aload 4 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 370
            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 367
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 372
            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 394
            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 mBeanServerId(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // javax.management.MBeanServer mbs
         0: .line 399
            aload 0 /* mbs */
            getstatic javax.management.MBeanServerDelegate.DELEGATE_NAME:Ljavax/management/ObjectName;
         1: .line 400
            ldc "MBeanServerId"
         2: .line 399
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
         3: areturn
         4: .line 401
      StackMap locals:
      StackMap stack: javax.management.JMException
            astore 1 /* e */
        start local 1 // javax.management.JMException e
         5: .line 402
            getstatic com.sun.jmx.defaults.JmxProperties.MISC_LOGGER:Ljava/util/logging/Logger;
         6: .line 403
            new java.lang.StringBuilder
            dup
            ldc "Ignoring exception while getting MBeanServerId: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 402
            invokevirtual java.util.logging.Logger.finest:(Ljava/lang/String;)V
         8: .line 404
            aconst_null
            areturn
        end local 1 // javax.management.JMException e
        end local 0 // javax.management.MBeanServer mbs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0   mbs  Ljavax/management/MBeanServer;
            5    9     1     e  Ljavax/management/JMException;
      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 410
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 411
            aload 1 /* sm */
            ifnull 4
         2: .line 412
            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 413
            aload 1 /* sm */
            aload 2 /* perm */
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 2 // java.security.Permission perm
         4: .line 415
      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 418
            getstatic javax.management.MBeanServerFactory.mBeanServerList:Ljava/util/ArrayList;
            aload 0 /* mbs */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 419
            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 422
            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 423
            iload 1 /* removed */
            ifne 8
         2: .line 424
            getstatic com.sun.jmx.defaults.JmxProperties.MBEANSERVER_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
         3: .line 425
            ldc Ljavax/management/MBeanServerFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 426
            ldc "removeMBeanServer(MBeanServer)"
         5: .line 427
            ldc "MBeanServer was not in list!"
         6: .line 424
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         7: .line 428
            new java.lang.IllegalArgumentException
            dup
            ldc "MBeanServer was not in list!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 430
      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 442
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
         1: .line 441
            astore 1 /* loader */
        start local 1 // java.lang.ClassLoader loader
         2: .line 444
            aload 1 /* loader */
            ifnull 4
         3: .line 446
            aload 1 /* loader */
            aload 0 /* builderClassName */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
         4: .line 450
      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
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    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 461
            aload 0 /* builderClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            astore 1 /* abuilder */
        start local 1 // java.lang.Object abuilder
         1: .line 462
            aload 1 /* abuilder */
            checkcast javax.management.MBeanServerBuilder
         2: areturn
        end local 1 // java.lang.Object abuilder
         3: .line 463
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 1 /* x */
        start local 1 // java.lang.RuntimeException x
         4: .line 464
            aload 1 /* x */
            athrow
        end local 1 // java.lang.RuntimeException x
         5: .line 465
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* x */
        start local 1 // java.lang.Exception x
         6: .line 467
            new java.lang.StringBuilder
            dup
            ldc "Failed to instantiate a MBeanServerBuilder from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 468
            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 467
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 466
            astore 2 /* msg */
        start local 2 // java.lang.String msg
        10: .line 469
            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      abuilder  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
    Signature: (Ljava/lang/Class<*>;)Ljavax/management/MBeanServerBuilder;
    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 480
            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 479
            astore 0 /* act */
        start local 0 // com.sun.jmx.mbeanserver.GetPropertyAction act
         2: .line 481
            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 485
            aload 1 /* builderClassName */
            ifnull 4
            aload 1 /* builderClassName */
            invokevirtual java.lang.String.length:()I
            ifne 6
         4: .line 486
      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 488
      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 491
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
            ifnull 11
         8: .line 492
            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 493
            aload 2 /* newBuilderClass */
            aload 3 /* builderClass */
            if_acmpne 11
        10: .line 494
            return
        end local 3 // java.lang.Class builderClass
        11: .line 498
      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 499
            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 501
            new java.lang.StringBuilder
            dup
            ldc "Failed to load MBeanServerBuilder class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 502
            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 501
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 500
            astore 3 /* msg */
        start local 3 // java.lang.String msg
        18: .line 503
            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 505
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 0 /* x */
        start local 0 // java.lang.RuntimeException x
        20: .line 506
            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 507
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
        22: .line 508
            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 509
            ldc "\n\t\tCheck the value of the "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 510
            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 507
            astore 1 /* strb */
        start local 1 // java.lang.StringBuilder strb
        26: .line 511
            getstatic com.sun.jmx.defaults.JmxProperties.MBEANSERVER_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
        27: .line 512
            ldc Ljavax/management/MBeanServerFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        28: .line 513
            ldc "checkMBeanServerBuilder"
        29: .line 514
            aload 1 /* strb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 511
            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 516
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            aload 0 /* x */
            athrow
        end local 0 // java.lang.RuntimeException x
        32: .line 518
      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 539
            invokestatic javax.management.MBeanServerFactory.checkMBeanServerBuilder:()V
         1: .line 540
            getstatic javax.management.MBeanServerFactory.builder:Ljavax/management/MBeanServerBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "MBeanServerFactory.java"