public class javax.management.remote.rmi.RMIConnectorServer extends javax.management.remote.JMXConnectorServer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.management.remote.rmi.RMIConnectorServer
  super_class: javax.management.remote.JMXConnectorServer
{
  public static final java.lang.String JNDI_REBIND_ATTRIBUTE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.jndi.rebind"

  public static final java.lang.String RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.rmi.client.socket.factory"

  public static final java.lang.String RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.rmi.server.socket.factory"

  public static final java.lang.String CREDENTIAL_TYPES;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.rmi.server.credential.types"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "10", forRemoval = true)

  public static final java.lang.String CREDENTIALS_FILTER_PATTERN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.rmi.server.credentials.filter.pattern"

  public static final java.lang.String SERIAL_FILTER_PATTERN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jmx.remote.rmi.server.serial.filter.pattern"

  private static final char[] intToAlpha;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static com.sun.jmx.remote.util.ClassLogger logger;
    descriptor: Lcom/sun/jmx/remote/util/ClassLogger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private javax.management.remote.JMXServiceURL address;
    descriptor: Ljavax/management/remote/JMXServiceURL;
    flags: (0x0002) ACC_PRIVATE

  private javax.management.remote.rmi.RMIServerImpl rmiServerImpl;
    descriptor: Ljavax/management/remote/rmi/RMIServerImpl;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Map<java.lang.String, ?> attributes;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;*>;

  private java.lang.ClassLoader defaultClassLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String boundJndiUrl;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private static final int CREATED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int STARTED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int STOPPED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private int state;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.Set<javax.management.remote.rmi.RMIConnectorServer> openedServers;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljavax/management/remote/rmi/RMIConnectorServer;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 840
            bipush 64
            newarray 5
            dup
            iconst_0
         1: .line 841
            bipush 65
            castore
            dup
            iconst_1
            bipush 66
            castore
            dup
            iconst_2
            bipush 67
            castore
            dup
            iconst_3
            bipush 68
            castore
            dup
            iconst_4
            bipush 69
            castore
            dup
            iconst_5
            bipush 70
            castore
            dup
            bipush 6
            bipush 71
            castore
            dup
            bipush 7
            bipush 72
            castore
            dup
            bipush 8
            bipush 73
            castore
            dup
            bipush 9
            bipush 74
            castore
            dup
            bipush 10
            bipush 75
            castore
            dup
            bipush 11
            bipush 76
            castore
            dup
            bipush 12
            bipush 77
            castore
            dup
            bipush 13
         2: .line 842
            bipush 78
            castore
            dup
            bipush 14
            bipush 79
            castore
            dup
            bipush 15
            bipush 80
            castore
            dup
            bipush 16
            bipush 81
            castore
            dup
            bipush 17
            bipush 82
            castore
            dup
            bipush 18
            bipush 83
            castore
            dup
            bipush 19
            bipush 84
            castore
            dup
            bipush 20
            bipush 85
            castore
            dup
            bipush 21
            bipush 86
            castore
            dup
            bipush 22
            bipush 87
            castore
            dup
            bipush 23
            bipush 88
            castore
            dup
            bipush 24
            bipush 89
            castore
            dup
            bipush 25
            bipush 90
            castore
            dup
            bipush 26
         3: .line 843
            bipush 97
            castore
            dup
            bipush 27
            bipush 98
            castore
            dup
            bipush 28
            bipush 99
            castore
            dup
            bipush 29
            bipush 100
            castore
            dup
            bipush 30
            bipush 101
            castore
            dup
            bipush 31
            bipush 102
            castore
            dup
            bipush 32
            bipush 103
            castore
            dup
            bipush 33
            bipush 104
            castore
            dup
            bipush 34
            bipush 105
            castore
            dup
            bipush 35
            bipush 106
            castore
            dup
            bipush 36
            bipush 107
            castore
            dup
            bipush 37
            bipush 108
            castore
            dup
            bipush 38
            bipush 109
            castore
            dup
            bipush 39
         4: .line 844
            bipush 110
            castore
            dup
            bipush 40
            bipush 111
            castore
            dup
            bipush 41
            bipush 112
            castore
            dup
            bipush 42
            bipush 113
            castore
            dup
            bipush 43
            bipush 114
            castore
            dup
            bipush 44
            bipush 115
            castore
            dup
            bipush 45
            bipush 116
            castore
            dup
            bipush 46
            bipush 117
            castore
            dup
            bipush 47
            bipush 118
            castore
            dup
            bipush 48
            bipush 119
            castore
            dup
            bipush 49
            bipush 120
            castore
            dup
            bipush 50
            bipush 121
            castore
            dup
            bipush 51
            bipush 122
            castore
            dup
            bipush 52
         5: .line 845
            bipush 48
            castore
            dup
            bipush 53
            bipush 49
            castore
            dup
            bipush 54
            bipush 50
            castore
            dup
            bipush 55
            bipush 51
            castore
            dup
            bipush 56
            bipush 52
            castore
            dup
            bipush 57
            bipush 53
            castore
            dup
            bipush 58
            bipush 54
            castore
            dup
            bipush 59
            bipush 55
            castore
            dup
            bipush 60
            bipush 56
            castore
            dup
            bipush 61
            bipush 57
            castore
            dup
            bipush 62
            bipush 43
            castore
            dup
            bipush 63
            bipush 47
            castore
         6: .line 840
            putstatic javax.management.remote.rmi.RMIConnectorServer.intToAlpha:[C
         7: .line 863
            new com.sun.jmx.remote.util.ClassLogger
            dup
            ldc "javax.management.remote.rmi"
            ldc "RMIConnectorServer"
            invokespecial com.sun.jmx.remote.util.ClassLogger.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 862
            putstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
         9: .line 879
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
        10: .line 878
            putstatic javax.management.remote.rmi.RMIConnectorServer.openedServers:Ljava/util/Set;
        11: .line 879
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, ?>);
    descriptor: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
        start local 1 // javax.management.remote.JMXServiceURL url
        start local 2 // java.util.Map environment
         0: .line 205
            aload 0 /* this */
            aload 1 /* url */
            aload 2 /* environment */
            aconst_null
            invokespecial javax.management.remote.rmi.RMIConnectorServer.<init>:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;Ljavax/management/MBeanServer;)V
         1: .line 206
            return
        end local 2 // java.util.Map environment
        end local 1 // javax.management.remote.JMXServiceURL url
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljavax/management/remote/rmi/RMIConnectorServer;
            0    2     1          url  Ljavax/management/remote/JMXServiceURL;
            0    2     2  environment  Ljava/util/Map<Ljava/lang/String;*>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;*>;)V
    MethodParameters:
             Name  Flags
      url          
      environment  

  public void <init>(javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, ?>, javax.management.MBeanServer);
    descriptor: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;Ljavax/management/MBeanServer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
        start local 1 // javax.management.remote.JMXServiceURL url
        start local 2 // java.util.Map environment
        start local 3 // javax.management.MBeanServer mbeanServer
         0: .line 240
            aload 0 /* this */
            aload 1 /* url */
            aload 2 /* environment */
            aconst_null
            aload 3 /* mbeanServer */
            invokespecial javax.management.remote.rmi.RMIConnectorServer.<init>:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;Ljavax/management/remote/rmi/RMIServerImpl;Ljavax/management/MBeanServer;)V
         1: .line 241
            return
        end local 3 // javax.management.MBeanServer mbeanServer
        end local 2 // java.util.Map environment
        end local 1 // javax.management.remote.JMXServiceURL url
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljavax/management/remote/rmi/RMIConnectorServer;
            0    2     1          url  Ljavax/management/remote/JMXServiceURL;
            0    2     2  environment  Ljava/util/Map<Ljava/lang/String;*>;
            0    2     3  mbeanServer  Ljavax/management/MBeanServer;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;*>;Ljavax/management/MBeanServer;)V
    MethodParameters:
             Name  Flags
      url          
      environment  
      mbeanServer  

  public void <init>(javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, ?>, javax.management.remote.rmi.RMIServerImpl, javax.management.MBeanServer);
    descriptor: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;Ljavax/management/remote/rmi/RMIServerImpl;Ljavax/management/MBeanServer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
        start local 1 // javax.management.remote.JMXServiceURL url
        start local 2 // java.util.Map environment
        start local 3 // javax.management.remote.rmi.RMIServerImpl rmiServerImpl
        start local 4 // javax.management.MBeanServer mbeanServer
         0: .line 281
            aload 0 /* this */
            aload 4 /* mbeanServer */
            invokespecial javax.management.remote.JMXConnectorServer.<init>:(Ljavax/management/MBeanServer;)V
         1: .line 868
            aload 0 /* this */
            aconst_null
            putfield javax.management.remote.rmi.RMIConnectorServer.defaultClassLoader:Ljava/lang/ClassLoader;
         2: .line 877
            aload 0 /* this */
            iconst_0
            putfield javax.management.remote.rmi.RMIConnectorServer.state:I
         3: .line 283
            aload 1 /* url */
            ifnonnull 6
         4: .line 284
            new java.lang.IllegalArgumentException
            dup
            ldc "Null JMXServiceURL"
         5: .line 283
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 285
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer javax.management.remote.JMXServiceURL java.util.Map javax.management.remote.rmi.RMIServerImpl javax.management.MBeanServer
      StackMap stack:
            aload 3 /* rmiServerImpl */
            ifnonnull 16
         7: .line 286
            aload 1 /* url */
            invokevirtual javax.management.remote.JMXServiceURL.getProtocol:()Ljava/lang/String;
            astore 5 /* prt */
        start local 5 // java.lang.String prt
         8: .line 287
            aload 5 /* prt */
            ifnull 9
            aload 5 /* prt */
            ldc "rmi"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         9: .line 288
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Invalid protocol type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* prt */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
        10: .line 289
            new java.net.MalformedURLException
            dup
            aload 6 /* msg */
            invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String msg
        11: .line 291
      StackMap locals:
      StackMap stack:
            aload 1 /* url */
            invokevirtual javax.management.remote.JMXServiceURL.getURLPath:()Ljava/lang/String;
            astore 6 /* urlPath */
        start local 6 // java.lang.String urlPath
        12: .line 292
            aload 6 /* urlPath */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
        13: .line 293
            aload 6 /* urlPath */
            ldc "/"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
        14: .line 294
            aload 6 /* urlPath */
            ldc "/jndi/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 16
        15: .line 297
            new java.net.MalformedURLException
            dup
            ldc "URL path must be empty or start with /jndi/"
            invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String urlPath
        end local 5 // java.lang.String prt
        16: .line 301
      StackMap locals:
      StackMap stack:
            aload 2 /* environment */
            ifnonnull 18
        17: .line 302
            aload 0 /* this */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            putfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            goto 20
        18: .line 304
      StackMap locals:
      StackMap stack:
            aload 2 /* environment */
            invokestatic com.sun.jmx.remote.util.EnvHelp.checkAttributes:(Ljava/util/Map;)V
        19: .line 305
            aload 0 /* this */
            aload 2 /* environment */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
        20: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* url */
            putfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
        21: .line 309
            aload 0 /* this */
            aload 3 /* rmiServerImpl */
            putfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
        22: .line 310
            return
        end local 4 // javax.management.MBeanServer mbeanServer
        end local 3 // javax.management.remote.rmi.RMIServerImpl rmiServerImpl
        end local 2 // java.util.Map environment
        end local 1 // javax.management.remote.JMXServiceURL url
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Ljavax/management/remote/rmi/RMIConnectorServer;
            0   23     1            url  Ljavax/management/remote/JMXServiceURL;
            0   23     2    environment  Ljava/util/Map<Ljava/lang/String;*>;
            0   23     3  rmiServerImpl  Ljavax/management/remote/rmi/RMIServerImpl;
            0   23     4    mbeanServer  Ljavax/management/MBeanServer;
            8   16     5            prt  Ljava/lang/String;
           10   11     6            msg  Ljava/lang/String;
           12   16     6        urlPath  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;*>;Ljavax/management/remote/rmi/RMIServerImpl;Ljavax/management/MBeanServer;)V
    MethodParameters:
               Name  Flags
      url            
      environment    
      rmiServerImpl  
      mbeanServer    

  public javax.management.remote.JMXConnector toJMXConnector(java.util.Map<java.lang.String, ?>);
    descriptor: (Ljava/util/Map;)Ljavax/management/remote/JMXConnector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
        start local 1 // java.util.Map env
         0: .line 338
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.isActive:()Z
            ifne 3
         1: .line 339
            new java.lang.IllegalStateException
            dup
            ldc "Connector is not active"
         2: .line 338
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 342
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
         4: .line 343
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            ifnonnull 5
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            goto 6
         5: .line 344
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer java.util.Map
      StackMap stack: new 3 new 3
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
         6: .line 342
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer java.util.Map
      StackMap stack: new 3 new 3 java.util.Map
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            astore 2 /* usemap */
        start local 2 // java.util.Map usemap
         7: .line 346
            aload 1 /* env */
            ifnull 10
         8: .line 347
            aload 1 /* env */
            invokestatic com.sun.jmx.remote.util.EnvHelp.checkAttributes:(Ljava/util/Map;)V
         9: .line 348
            aload 2 /* usemap */
            aload 1 /* env */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        10: .line 351
      StackMap locals: java.util.Map
      StackMap stack:
            aload 2 /* usemap */
            invokestatic com.sun.jmx.remote.util.EnvHelp.filterAttributes:(Ljava/util/Map;)Ljava/util/Map;
            astore 2 /* usemap */
        11: .line 353
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
            invokevirtual javax.management.remote.rmi.RMIServerImpl.toStub:()Ljava/rmi/Remote;
            checkcast javax.management.remote.rmi.RMIServer
            astore 3 /* stub */
        start local 3 // javax.management.remote.rmi.RMIServer stub
        12: .line 355
            new javax.management.remote.rmi.RMIConnector
            dup
            aload 3 /* stub */
            aload 2 /* usemap */
            invokespecial javax.management.remote.rmi.RMIConnector.<init>:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)V
            areturn
        end local 3 // javax.management.remote.rmi.RMIServer stub
        end local 2 // java.util.Map usemap
        end local 1 // java.util.Map env
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Ljavax/management/remote/rmi/RMIConnectorServer;
            0   13     1     env  Ljava/util/Map<Ljava/lang/String;*>;
            7   13     2  usemap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
           12   13     3    stub  Ljavax/management/remote/rmi/RMIServer;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Map<Ljava/lang/String;*>;)Ljavax/management/remote/JMXConnector;
    MethodParameters:
      Name  Flags
      env   

  public synchronized void start();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
         0: .line 413
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            istore 1 /* tracing */
        start local 1 // boolean tracing
         1: .line 415
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.state:I
            iconst_1
            if_icmpne 4
         2: .line 416
            iload 1 /* tracing */
            ifeq 3
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            ldc "already started"
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 417
      StackMap locals: int
      StackMap stack:
            return
         4: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.state:I
            iconst_2
            if_icmpne 7
         5: .line 419
            iload 1 /* tracing */
            ifeq 6
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            ldc "already stopped"
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 420
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "The server has been stopped."
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.getMBeanServer:()Ljavax/management/MBeanServer;
            ifnonnull 9
         8: .line 424
            new java.lang.IllegalStateException
            dup
            ldc "This connector server is not attached to an MBean server"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            ifnull 19
        10: .line 434
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            ldc "jmx.remote.x.access.file"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
        11: .line 433
            astore 2 /* accessFile */
        start local 2 // java.lang.String accessFile
        12: .line 435
            aload 2 /* accessFile */
            ifnull 19
        13: .line 441
            new com.sun.jmx.remote.security.MBeanServerFileAccessController
            dup
            aload 2 /* accessFile */
            invokespecial com.sun.jmx.remote.security.MBeanServerFileAccessController.<init>:(Ljava/lang/String;)V
            astore 3 /* mbsf */
        start local 3 // javax.management.remote.MBeanServerForwarder mbsf
        14: .line 442
            goto 18
        end local 3 // javax.management.remote.MBeanServerForwarder mbsf
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer int java.lang.String
      StackMap stack: java.io.IOException
        15: astore 4 /* e */
        start local 4 // java.io.IOException e
        16: .line 444
            new java.lang.IllegalArgumentException
            dup
            aload 4 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
        17: .line 443
            invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.IllegalArgumentException
            athrow
        end local 4 // java.io.IOException e
        start local 3 // javax.management.remote.MBeanServerForwarder mbsf
        18: .line 448
      StackMap locals: javax.management.remote.MBeanServerForwarder
      StackMap stack:
            aload 0 /* this */
            aload 3 /* mbsf */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.setMBeanServerForwarder:(Ljavax/management/remote/MBeanServerForwarder;)V
        end local 3 // javax.management.remote.MBeanServerForwarder mbsf
        end local 2 // java.lang.String accessFile
        19: .line 453
      StackMap locals:
      StackMap stack:
            iload 1 /* tracing */
            ifeq 20
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            ldc "setting default class loader"
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        21: .line 455
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.getMBeanServer:()Ljavax/management/MBeanServer;
        22: .line 454
            invokestatic com.sun.jmx.remote.util.EnvHelp.resolveServerClassLoader:(Ljava/util/Map;Ljavax/management/MBeanServer;)Ljava/lang/ClassLoader;
            putfield javax.management.remote.rmi.RMIConnectorServer.defaultClassLoader:Ljava/lang/ClassLoader;
        23: .line 456
            goto 28
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
        24: astore 2 /* infc */
        start local 2 // javax.management.InstanceNotFoundException infc
        25: .line 458
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "ClassLoader not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* infc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 457
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            astore 3 /* x */
        start local 3 // java.lang.IllegalArgumentException x
        27: .line 459
            aload 3 /* x */
            aload 2 /* infc */
            invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.IllegalArgumentException
            athrow
        end local 3 // java.lang.IllegalArgumentException x
        end local 2 // javax.management.InstanceNotFoundException infc
        28: .line 462
      StackMap locals:
      StackMap stack:
            iload 1 /* tracing */
            ifeq 29
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            ldc "setting RMIServer object"
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        29: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
            ifnull 32
        30: .line 466
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
            astore 2 /* rmiServer */
        start local 2 // javax.management.remote.rmi.RMIServerImpl rmiServer
        31: goto 33
        end local 2 // javax.management.remote.rmi.RMIServerImpl rmiServer
        32: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.newServer:()Ljavax/management/remote/rmi/RMIServerImpl;
            astore 2 /* rmiServer */
        start local 2 // javax.management.remote.rmi.RMIServerImpl rmiServer
        33: .line 470
      StackMap locals: javax.management.remote.rmi.RMIServerImpl
      StackMap stack:
            aload 2 /* rmiServer */
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.getMBeanServer:()Ljavax/management/MBeanServer;
            invokevirtual javax.management.remote.rmi.RMIServerImpl.setMBeanServer:(Ljavax/management/MBeanServer;)V
        34: .line 471
            aload 2 /* rmiServer */
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.defaultClassLoader:Ljava/lang/ClassLoader;
            invokevirtual javax.management.remote.rmi.RMIServerImpl.setDefaultClassLoader:(Ljava/lang/ClassLoader;)V
        35: .line 472
            aload 2 /* rmiServer */
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIServerImpl.setRMIConnectorServer:(Ljavax/management/remote/rmi/RMIConnectorServer;)V
        36: .line 473
            aload 2 /* rmiServer */
            invokevirtual javax.management.remote.rmi.RMIServerImpl.export:()V
        37: .line 476
            iload 1 /* tracing */
            ifeq 38
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            ldc "getting RMIServer object to export"
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        38: .line 477
      StackMap locals:
      StackMap stack:
            aload 2 /* rmiServer */
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            invokestatic javax.management.remote.rmi.RMIConnectorServer.objectToBind:(Ljavax/management/remote/rmi/RMIServerImpl;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
            astore 3 /* objref */
        start local 3 // javax.management.remote.rmi.RMIServer objref
        39: .line 479
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            ifnull 58
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getURLPath:()Ljava/lang/String;
            ldc "/jndi/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 58
        40: .line 480
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getURLPath:()Ljava/lang/String;
            bipush 6
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* jndiUrl */
        start local 4 // java.lang.String jndiUrl
        41: .line 482
            iload 1 /* tracing */
            ifeq 43
        42: .line 483
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            new java.lang.StringBuilder
            dup
            ldc "Using external directory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* jndiUrl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        43: .line 485
      StackMap locals: javax.management.remote.rmi.RMIServer java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            ldc "jmx.remote.jndi.rebind"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* stringBoolean */
        start local 5 // java.lang.String stringBoolean
        44: .line 486
            aload 5 /* stringBoolean */
            invokestatic com.sun.jmx.remote.util.EnvHelp.computeBooleanFromString:(Ljava/lang/String;)Z
            istore 6 /* rebind */
        start local 6 // boolean rebind
        45: .line 488
            iload 1 /* tracing */
            ifeq 47
        46: .line 489
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            new java.lang.StringBuilder
            dup
            ldc "jmx.remote.jndi.rebind="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* rebind */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        47: .line 492
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 1 /* tracing */
            ifeq 48
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            new java.lang.StringBuilder
            dup
            ldc "binding to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* jndiUrl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        48: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            invokestatic com.sun.jmx.remote.util.EnvHelp.mapToHashtable:(Ljava/util/Map;)Ljava/util/Hashtable;
            astore 7 /* usemap */
        start local 7 // java.util.Hashtable usemap
        49: .line 496
            aload 0 /* this */
            aload 4 /* jndiUrl */
            aload 7 /* usemap */
            aload 3 /* objref */
            iload 6 /* rebind */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.bind:(Ljava/lang/String;Ljava/util/Hashtable;Ljavax/management/remote/rmi/RMIServer;Z)V
        50: .line 498
            aload 0 /* this */
            aload 4 /* jndiUrl */
            putfield javax.management.remote.rmi.RMIConnectorServer.boundJndiUrl:Ljava/lang/String;
        end local 7 // java.util.Hashtable usemap
        51: .line 499
            goto 75
      StackMap locals:
      StackMap stack: javax.naming.NamingException
        52: astore 7 /* e */
        start local 7 // javax.naming.NamingException e
        53: .line 501
            new java.lang.StringBuilder
            dup
            ldc "Cannot bind to URL ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* jndiUrl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        54: .line 502
            aload 7 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        55: .line 501
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        56: .line 502
            aload 7 /* e */
        57: .line 501
            invokestatic javax.management.remote.rmi.RMIConnectorServer.newIOException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 7 // javax.naming.NamingException e
        end local 6 // boolean rebind
        end local 5 // java.lang.String stringBoolean
        end local 4 // java.lang.String jndiUrl
        58: .line 506
      StackMap locals:
      StackMap stack:
            iload 1 /* tracing */
            ifeq 59
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            ldc "Encoding URL"
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        59: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* objref */
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.encodeStubInAddress:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)V
        60: .line 510
            iload 1 /* tracing */
            ifeq 75
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            new java.lang.StringBuilder
            dup
            ldc "Encoded URL: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        end local 3 // javax.management.remote.rmi.RMIServer objref
        61: .line 512
            goto 75
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer int javax.management.remote.rmi.RMIServerImpl
      StackMap stack: java.lang.Exception
        62: astore 3 /* e */
        start local 3 // java.lang.Exception e
        63: .line 514
            aload 2 /* rmiServer */
            invokevirtual javax.management.remote.rmi.RMIServerImpl.close:()V
        64: .line 515
            goto 66
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer int javax.management.remote.rmi.RMIServerImpl java.lang.Exception
      StackMap stack: java.lang.Exception
        65: pop
        66: .line 518
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            instanceof java.lang.RuntimeException
            ifeq 68
        67: .line 519
            aload 3 /* e */
            checkcast java.lang.RuntimeException
            athrow
        68: .line 520
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            instanceof java.io.IOException
            ifeq 70
        69: .line 521
            aload 3 /* e */
            checkcast java.io.IOException
            athrow
        70: .line 523
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Got unexpected exception while starting the connector server: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        71: .line 525
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        72: .line 523
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        73: .line 525
            aload 3 /* e */
        74: .line 523
            invokestatic javax.management.remote.rmi.RMIConnectorServer.newIOException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 3 // java.lang.Exception e
        75: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* rmiServer */
            putfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
        76: .line 530
            getstatic javax.management.remote.rmi.RMIConnectorServer.openedServers:Ljava/util/Set;
            dup
            astore 3
            monitorenter
        77: .line 531
            getstatic javax.management.remote.rmi.RMIConnectorServer.openedServers:Ljava/util/Set;
            aload 0 /* this */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        78: .line 530
            aload 3
            monitorexit
        79: goto 82
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer int javax.management.remote.rmi.RMIServerImpl java.util.Set
      StackMap stack: java.lang.Throwable
        80: aload 3
            monitorexit
        81: athrow
        82: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javax.management.remote.rmi.RMIConnectorServer.state:I
        83: .line 536
            iload 1 /* tracing */
            ifeq 86
        84: .line 537
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            new java.lang.StringBuilder
            dup
            ldc "Connector Server Address = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        85: .line 538
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "start"
            ldc "started."
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        86: .line 540
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javax.management.remote.rmi.RMIServerImpl rmiServer
        end local 1 // boolean tracing
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   87     0           this  Ljavax/management/remote/rmi/RMIConnectorServer;
            1   87     1        tracing  Z
           12   19     2     accessFile  Ljava/lang/String;
           14   15     3           mbsf  Ljavax/management/remote/MBeanServerForwarder;
           18   19     3           mbsf  Ljavax/management/remote/MBeanServerForwarder;
           16   18     4              e  Ljava/io/IOException;
           25   28     2           infc  Ljavax/management/InstanceNotFoundException;
           27   28     3              x  Ljava/lang/IllegalArgumentException;
           31   32     2      rmiServer  Ljavax/management/remote/rmi/RMIServerImpl;
           33   87     2      rmiServer  Ljavax/management/remote/rmi/RMIServerImpl;
           39   61     3         objref  Ljavax/management/remote/rmi/RMIServer;
           41   58     4        jndiUrl  Ljava/lang/String;
           44   58     5  stringBoolean  Ljava/lang/String;
           45   58     6         rebind  Z
           49   51     7         usemap  Ljava/util/Hashtable<**>;
           53   58     7              e  Ljavax/naming/NamingException;
           63   75     3              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          13    14      15  Class java.io.IOException
          19    23      24  Class javax.management.InstanceNotFoundException
          47    51      52  Class javax.naming.NamingException
          37    61      62  Class java.lang.Exception
          63    64      65  Class java.lang.Exception
          77    79      80  any
          80    81      80  any
    Exceptions:
      throws java.io.IOException

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
         0: .line 588
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            istore 1 /* tracing */
        start local 1 // boolean tracing
         1: .line 590
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 591
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.state:I
            iconst_2
            if_icmpne 6
         3: .line 592
            iload 1 /* tracing */
            ifeq 4
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "stop"
            ldc "already stopped."
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 593
      StackMap locals: int javax.management.remote.rmi.RMIConnectorServer
      StackMap stack:
            aload 2
            monitorexit
         5: return
         6: .line 594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.state:I
            ifne 8
         7: .line 595
            iload 1 /* tracing */
            ifeq 8
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "stop"
            ldc "not started yet."
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 598
      StackMap locals:
      StackMap stack:
            iload 1 /* tracing */
            ifeq 9
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "stop"
            ldc "stopping."
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield javax.management.remote.rmi.RMIConnectorServer.state:I
        10: .line 590
            aload 2
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 2
            monitorexit
        13: athrow
        14: .line 602
      StackMap locals:
      StackMap stack:
            getstatic javax.management.remote.rmi.RMIConnectorServer.openedServers:Ljava/util/Set;
            dup
            astore 2
            monitorenter
        15: .line 603
            getstatic javax.management.remote.rmi.RMIConnectorServer.openedServers:Ljava/util/Set;
            aload 0 /* this */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        16: .line 602
            aload 2
            monitorexit
        17: goto 20
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer int java.util.Set
      StackMap stack: java.lang.Throwable
        18: aload 2
            monitorexit
        19: athrow
        20: .line 606
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* exception */
        start local 2 // java.io.IOException exception
        21: .line 609
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
            ifnull 29
        22: .line 611
            iload 1 /* tracing */
            ifeq 23
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "stop"
            ldc "closing RMI server."
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        23: .line 612
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
            invokevirtual javax.management.remote.rmi.RMIServerImpl.close:()V
        24: .line 613
            goto 29
      StackMap locals:
      StackMap stack: java.io.IOException
        25: astore 3 /* e */
        start local 3 // java.io.IOException e
        26: .line 614
            iload 1 /* tracing */
            ifeq 27
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "stop"
            new java.lang.StringBuilder
            dup
            ldc "failed to close RMI server: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        27: .line 615
      StackMap locals: java.io.IOException
      StackMap stack:
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
            ifeq 28
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "stop"
            aload 3 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        28: .line 616
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            astore 2 /* exception */
        end local 3 // java.io.IOException e
        29: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.boundJndiUrl:Ljava/lang/String;
            ifnull 45
        30: .line 622
            iload 1 /* tracing */
            ifeq 34
        31: .line 623
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "stop"
        32: .line 624
            new java.lang.StringBuilder
            dup
            ldc "unbind from external directory: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.boundJndiUrl:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 623
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        34: .line 626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            invokestatic com.sun.jmx.remote.util.EnvHelp.mapToHashtable:(Ljava/util/Map;)Ljava/util/Hashtable;
            astore 3 /* usemap */
        start local 3 // java.util.Hashtable usemap
        35: .line 629
            new javax.naming.InitialContext
            dup
            aload 3 /* usemap */
            invokespecial javax.naming.InitialContext.<init>:(Ljava/util/Hashtable;)V
        36: .line 628
            astore 4 /* ctx */
        start local 4 // javax.naming.InitialContext ctx
        37: .line 631
            aload 4 /* ctx */
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.boundJndiUrl:Ljava/lang/String;
            invokevirtual javax.naming.InitialContext.unbind:(Ljava/lang/String;)V
        38: .line 633
            aload 4 /* ctx */
            invokevirtual javax.naming.InitialContext.close:()V
        end local 4 // javax.naming.InitialContext ctx
        end local 3 // java.util.Hashtable usemap
        39: .line 634
            goto 45
      StackMap locals:
      StackMap stack: javax.naming.NamingException
        40: astore 3 /* e */
        start local 3 // javax.naming.NamingException e
        41: .line 635
            iload 1 /* tracing */
            ifeq 42
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "stop"
            new java.lang.StringBuilder
            dup
            ldc "failed to unbind RMI server: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        42: .line 636
      StackMap locals: javax.naming.NamingException
      StackMap stack:
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
            ifeq 43
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "stop"
            aload 3 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        43: .line 638
      StackMap locals:
      StackMap stack:
            aload 2 /* exception */
            ifnonnull 45
        44: .line 639
            new java.lang.StringBuilder
            dup
            ldc "Cannot bind to URL: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokestatic javax.management.remote.rmi.RMIConnectorServer.newIOException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/IOException;
            astore 2 /* exception */
        end local 3 // javax.naming.NamingException e
        45: .line 643
      StackMap locals:
      StackMap stack:
            aload 2 /* exception */
            ifnull 46
            aload 2 /* exception */
            athrow
        46: .line 645
      StackMap locals:
      StackMap stack:
            iload 1 /* tracing */
            ifeq 47
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "stop"
            ldc "stopped"
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        47: .line 646
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.IOException exception
        end local 1 // boolean tracing
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   48     0       this  Ljavax/management/remote/rmi/RMIConnectorServer;
            1   48     1    tracing  Z
           21   48     2  exception  Ljava/io/IOException;
           26   29     3          e  Ljava/io/IOException;
           35   39     3     usemap  Ljava/util/Hashtable<**>;
           37   39     4        ctx  Ljavax/naming/InitialContext;
           41   45     3          e  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
           2     5      12  any
           6    11      12  any
          12    13      12  any
          15    17      18  any
          18    19      18  any
          22    24      25  Class java.io.IOException
          30    39      40  Class javax.naming.NamingException
    Exceptions:
      throws java.io.IOException

  public synchronized boolean isActive();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
         0: .line 649
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.state:I
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/management/remote/rmi/RMIConnectorServer;

  public javax.management.remote.JMXServiceURL getAddress();
    descriptor: ()Ljavax/management/remote/JMXServiceURL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
         0: .line 653
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.isActive:()Z
            ifne 2
         1: .line 654
            aconst_null
            areturn
         2: .line 655
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            areturn
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/management/remote/rmi/RMIConnectorServer;

  public java.util.Map<java.lang.String, ?> getAttributes();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
         0: .line 659
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            invokestatic com.sun.jmx.remote.util.EnvHelp.filterAttributes:(Ljava/util/Map;)Ljava/util/Map;
            astore 1 /* map */
        start local 1 // java.util.Map map
         1: .line 660
            aload 1 /* map */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 1 // java.util.Map map
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/management/remote/rmi/RMIConnectorServer;
            1    2     1   map  Ljava/util/Map<Ljava/lang/String;*>;
    Signature: ()Ljava/util/Map<Ljava/lang/String;*>;

  public synchronized void setMBeanServerForwarder(javax.management.remote.MBeanServerForwarder);
    descriptor: (Ljavax/management/remote/MBeanServerForwarder;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
        start local 1 // javax.management.remote.MBeanServerForwarder mbsf
         0: .line 666
            aload 0 /* this */
            aload 1 /* mbsf */
            invokespecial javax.management.remote.JMXConnectorServer.setMBeanServerForwarder:(Ljavax/management/remote/MBeanServerForwarder;)V
         1: .line 667
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
            ifnull 3
         2: .line 668
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.getMBeanServer:()Ljavax/management/MBeanServer;
            invokevirtual javax.management.remote.rmi.RMIServerImpl.setMBeanServer:(Ljavax/management/MBeanServer;)V
         3: .line 669
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.management.remote.MBeanServerForwarder mbsf
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/management/remote/rmi/RMIConnectorServer;
            0    4     1  mbsf  Ljavax/management/remote/MBeanServerForwarder;
    MethodParameters:
      Name  Flags
      mbsf  

  protected void connectionOpened(java.lang.String, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
        start local 1 // java.lang.String connectionId
        start local 2 // java.lang.String message
        start local 3 // java.lang.Object userData
         0: .line 678
            aload 0 /* this */
            aload 1 /* connectionId */
            aload 2 /* message */
            aload 3 /* userData */
            invokespecial javax.management.remote.JMXConnectorServer.connectionOpened:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 679
            return
        end local 3 // java.lang.Object userData
        end local 2 // java.lang.String message
        end local 1 // java.lang.String connectionId
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljavax/management/remote/rmi/RMIConnectorServer;
            0    2     1  connectionId  Ljava/lang/String;
            0    2     2       message  Ljava/lang/String;
            0    2     3      userData  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      connectionId  
      message       
      userData      

  protected void connectionClosed(java.lang.String, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
        start local 1 // java.lang.String connectionId
        start local 2 // java.lang.String message
        start local 3 // java.lang.Object userData
         0: .line 684
            aload 0 /* this */
            aload 1 /* connectionId */
            aload 2 /* message */
            aload 3 /* userData */
            invokespecial javax.management.remote.JMXConnectorServer.connectionClosed:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 685
            return
        end local 3 // java.lang.Object userData
        end local 2 // java.lang.String message
        end local 1 // java.lang.String connectionId
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljavax/management/remote/rmi/RMIConnectorServer;
            0    2     1  connectionId  Ljava/lang/String;
            0    2     2       message  Ljava/lang/String;
            0    2     3      userData  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      connectionId  
      message       
      userData      

  protected void connectionFailed(java.lang.String, java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
        start local 1 // java.lang.String connectionId
        start local 2 // java.lang.String message
        start local 3 // java.lang.Object userData
         0: .line 690
            aload 0 /* this */
            aload 1 /* connectionId */
            aload 2 /* message */
            aload 3 /* userData */
            invokespecial javax.management.remote.JMXConnectorServer.connectionFailed:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 691
            return
        end local 3 // java.lang.Object userData
        end local 2 // java.lang.String message
        end local 1 // java.lang.String connectionId
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljavax/management/remote/rmi/RMIConnectorServer;
            0    2     1  connectionId  Ljava/lang/String;
            0    2     2       message  Ljava/lang/String;
            0    2     3      userData  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      connectionId  
      message       
      userData      

  void bind(java.lang.String, java.util.Hashtable<?, ?>, javax.management.remote.rmi.RMIServer, );
    descriptor: (Ljava/lang/String;Ljava/util/Hashtable;Ljavax/management/remote/rmi/RMIServer;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
        start local 1 // java.lang.String jndiUrl
        start local 2 // java.util.Hashtable attributes
        start local 3 // javax.management.remote.rmi.RMIServer rmiServer
        start local 4 // boolean rebind
         0: .line 708
            new javax.naming.InitialContext
            dup
            aload 2 /* attributes */
            invokespecial javax.naming.InitialContext.<init>:(Ljava/util/Hashtable;)V
         1: .line 707
            astore 5 /* ctx */
        start local 5 // javax.naming.InitialContext ctx
         2: .line 710
            iload 4 /* rebind */
            ifeq 4
         3: .line 711
            aload 5 /* ctx */
            aload 1 /* jndiUrl */
            aload 3 /* rmiServer */
            invokevirtual javax.naming.InitialContext.rebind:(Ljava/lang/String;Ljava/lang/Object;)V
            goto 5
         4: .line 713
      StackMap locals: javax.naming.InitialContext
      StackMap stack:
            aload 5 /* ctx */
            aload 1 /* jndiUrl */
            aload 3 /* rmiServer */
            invokevirtual javax.naming.InitialContext.bind:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 714
      StackMap locals:
      StackMap stack:
            aload 5 /* ctx */
            invokevirtual javax.naming.InitialContext.close:()V
         6: .line 715
            return
        end local 5 // javax.naming.InitialContext ctx
        end local 4 // boolean rebind
        end local 3 // javax.management.remote.rmi.RMIServer rmiServer
        end local 2 // java.util.Hashtable attributes
        end local 1 // java.lang.String jndiUrl
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Ljavax/management/remote/rmi/RMIConnectorServer;
            0    7     1     jndiUrl  Ljava/lang/String;
            0    7     2  attributes  Ljava/util/Hashtable<**>;
            0    7     3   rmiServer  Ljavax/management/remote/rmi/RMIServer;
            0    7     4      rebind  Z
            2    7     5         ctx  Ljavax/naming/InitialContext;
    Exceptions:
      throws javax.naming.NamingException, java.net.MalformedURLException
    Signature: (Ljava/lang/String;Ljava/util/Hashtable<**>;Ljavax/management/remote/rmi/RMIServer;Z)V
    MethodParameters:
            Name  Flags
      jndiUrl     
      attributes  
      rmiServer   
      rebind      

  javax.management.remote.rmi.RMIServerImpl newServer();
    descriptor: ()Ljavax/management/remote/rmi/RMIServerImpl;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
         0: .line 722
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            ifnonnull 3
         1: .line 723
            iconst_0
            istore 1 /* port */
        start local 1 // int port
         2: goto 4
        end local 1 // int port
         3: .line 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getPort:()I
            istore 1 /* port */
        start local 1 // int port
         4: .line 727
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            iload 1 /* port */
            invokestatic javax.management.remote.rmi.RMIConnectorServer.newJRMPServer:(Ljava/util/Map;I)Ljavax/management/remote/rmi/RMIServerImpl;
            areturn
        end local 1 // int port
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/management/remote/rmi/RMIConnectorServer;
            2    3     1  port  I
            4    5     1  port  I
    Exceptions:
      throws java.io.IOException

  private void encodeStubInAddress(javax.management.remote.rmi.RMIServer, java.util.Map<java.lang.String, ?>);
    descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
        start local 1 // javax.management.remote.rmi.RMIServer rmiServer
        start local 2 // java.util.Map attributes
         0: .line 743
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            ifnonnull 5
         1: .line 744
            ldc "rmi"
            astore 3 /* protocol */
        start local 3 // java.lang.String protocol
         2: .line 745
            aconst_null
            astore 4 /* host */
        start local 4 // java.lang.String host
         3: .line 746
            iconst_0
            istore 5 /* port */
        start local 5 // int port
         4: .line 747
            goto 10
        end local 5 // int port
        end local 4 // java.lang.String host
        end local 3 // java.lang.String protocol
         5: .line 748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getProtocol:()Ljava/lang/String;
            astore 3 /* protocol */
        start local 3 // java.lang.String protocol
         6: .line 749
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getHost:()Ljava/lang/String;
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
            aconst_null
            goto 8
      StackMap locals: java.lang.String
      StackMap stack:
         7: aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getHost:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         8: astore 4 /* host */
        start local 4 // java.lang.String host
         9: .line 750
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getPort:()I
            istore 5 /* port */
        start local 5 // int port
        10: .line 753
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 1 /* rmiServer */
            aload 2 /* attributes */
            invokestatic javax.management.remote.rmi.RMIConnectorServer.encodeStub:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljava/lang/String;
            astore 6 /* urlPath */
        start local 6 // java.lang.String urlPath
        11: .line 755
            aload 0 /* this */
            new javax.management.remote.JMXServiceURL
            dup
            aload 3 /* protocol */
            aload 4 /* host */
            iload 5 /* port */
            aload 6 /* urlPath */
            invokespecial javax.management.remote.JMXServiceURL.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
            putfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
        12: .line 756
            return
        end local 6 // java.lang.String urlPath
        end local 5 // int port
        end local 4 // java.lang.String host
        end local 3 // java.lang.String protocol
        end local 2 // java.util.Map attributes
        end local 1 // javax.management.remote.rmi.RMIServer rmiServer
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Ljavax/management/remote/rmi/RMIConnectorServer;
            0   13     1   rmiServer  Ljavax/management/remote/rmi/RMIServer;
            0   13     2  attributes  Ljava/util/Map<Ljava/lang/String;*>;
            2    5     3    protocol  Ljava/lang/String;
            6   13     3    protocol  Ljava/lang/String;
            3    5     4        host  Ljava/lang/String;
            9   13     4        host  Ljava/lang/String;
            4    5     5        port  I
           10   13     5        port  I
           11   13     6     urlPath  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map<Ljava/lang/String;*>;)V
    MethodParameters:
            Name  Flags
      rmiServer   
      attributes  

  static java.lang.String encodeStub(javax.management.remote.rmi.RMIServer, java.util.Map<java.lang.String, ?>);
    descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.management.remote.rmi.RMIServer rmiServer
        start local 1 // java.util.Map env
         0: .line 763
            new java.lang.StringBuilder
            dup
            ldc "/stub/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* rmiServer */
            aload 1 /* env */
            invokestatic javax.management.remote.rmi.RMIConnectorServer.encodeJRMPStub:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.util.Map env
        end local 0 // javax.management.remote.rmi.RMIServer rmiServer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  rmiServer  Ljavax/management/remote/rmi/RMIServer;
            0    1     1        env  Ljava/util/Map<Ljava/lang/String;*>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map<Ljava/lang/String;*>;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      rmiServer  
      env        

  static java.lang.String encodeJRMPStub(javax.management.remote.rmi.RMIServer, java.util.Map<java.lang.String, ?>);
    descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.management.remote.rmi.RMIServer rmiServer
        start local 1 // java.util.Map env
         0: .line 769
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* bout */
        start local 2 // java.io.ByteArrayOutputStream bout
         1: .line 770
            new java.io.ObjectOutputStream
            dup
            aload 2 /* bout */
            invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 3 /* oout */
        start local 3 // java.io.ObjectOutputStream oout
         2: .line 771
            aload 3 /* oout */
            aload 0 /* rmiServer */
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         3: .line 772
            aload 3 /* oout */
            invokevirtual java.io.ObjectOutputStream.close:()V
         4: .line 773
            aload 2 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            astore 4 /* bytes */
        start local 4 // byte[] bytes
         5: .line 774
            aload 4 /* bytes */
            invokestatic javax.management.remote.rmi.RMIConnectorServer.byteArrayToBase64:([B)Ljava/lang/String;
            areturn
        end local 4 // byte[] bytes
        end local 3 // java.io.ObjectOutputStream oout
        end local 2 // java.io.ByteArrayOutputStream bout
        end local 1 // java.util.Map env
        end local 0 // javax.management.remote.rmi.RMIServer rmiServer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  rmiServer  Ljavax/management/remote/rmi/RMIServer;
            0    6     1        env  Ljava/util/Map<Ljava/lang/String;*>;
            1    6     2       bout  Ljava/io/ByteArrayOutputStream;
            2    6     3       oout  Ljava/io/ObjectOutputStream;
            5    6     4      bytes  [B
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map<Ljava/lang/String;*>;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      rmiServer  
      env        

  private static javax.management.remote.rmi.RMIServer objectToBind(javax.management.remote.rmi.RMIServerImpl, java.util.Map<java.lang.String, ?>);
    descriptor: (Ljavax/management/remote/rmi/RMIServerImpl;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // javax.management.remote.rmi.RMIServerImpl rmiServer
        start local 1 // java.util.Map env
         0: .line 784
            aload 0 /* rmiServer */
            invokevirtual javax.management.remote.rmi.RMIServerImpl.toStub:()Ljava/rmi/Remote;
            checkcast javax.management.remote.rmi.RMIServer
            areturn
        end local 1 // java.util.Map env
        end local 0 // javax.management.remote.rmi.RMIServerImpl rmiServer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  rmiServer  Ljavax/management/remote/rmi/RMIServerImpl;
            0    1     1        env  Ljava/util/Map<Ljava/lang/String;*>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/management/remote/rmi/RMIServerImpl;Ljava/util/Map<Ljava/lang/String;*>;)Ljavax/management/remote/rmi/RMIServer;
    MethodParameters:
           Name  Flags
      rmiServer  
      env        

  private static javax.management.remote.rmi.RMIServerImpl newJRMPServer(java.util.Map<java.lang.String, ?>, int);
    descriptor: (Ljava/util/Map;I)Ljavax/management/remote/rmi/RMIServerImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.util.Map env
        start local 1 // int port
         0: .line 790
            aload 0 /* env */
            ldc "jmx.remote.rmi.client.socket.factory"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.rmi.server.RMIClientSocketFactory
         1: .line 789
            astore 2 /* csf */
        start local 2 // java.rmi.server.RMIClientSocketFactory csf
         2: .line 792
            aload 0 /* env */
            ldc "jmx.remote.rmi.server.socket.factory"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.rmi.server.RMIServerSocketFactory
         3: .line 791
            astore 3 /* ssf */
        start local 3 // java.rmi.server.RMIServerSocketFactory ssf
         4: .line 793
            new javax.management.remote.rmi.RMIJRMPServerImpl
            dup
            iload 1 /* port */
            aload 2 /* csf */
            aload 3 /* ssf */
            aload 0 /* env */
            invokespecial javax.management.remote.rmi.RMIJRMPServerImpl.<init>:(ILjava/rmi/server/RMIClientSocketFactory;Ljava/rmi/server/RMIServerSocketFactory;Ljava/util/Map;)V
            areturn
        end local 3 // java.rmi.server.RMIServerSocketFactory ssf
        end local 2 // java.rmi.server.RMIClientSocketFactory csf
        end local 1 // int port
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   env  Ljava/util/Map<Ljava/lang/String;*>;
            0    5     1  port  I
            2    5     2   csf  Ljava/rmi/server/RMIClientSocketFactory;
            4    5     3   ssf  Ljava/rmi/server/RMIServerSocketFactory;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Map<Ljava/lang/String;*>;I)Ljavax/management/remote/rmi/RMIServerImpl;
    MethodParameters:
      Name  Flags
      env   
      port  

  private static java.lang.String byteArrayToBase64(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // byte[] a
         0: .line 797
            aload 0 /* a */
            arraylength
            istore 1 /* aLen */
        start local 1 // int aLen
         1: .line 798
            iload 1 /* aLen */
            iconst_3
            idiv
            istore 2 /* numFullGroups */
        start local 2 // int numFullGroups
         2: .line 799
            iload 1 /* aLen */
            iconst_3
            iload 2 /* numFullGroups */
            imul
            isub
            istore 3 /* numBytesInPartialGroup */
        start local 3 // int numBytesInPartialGroup
         3: .line 800
            iconst_4
            iload 1 /* aLen */
            iconst_2
            iadd
            iconst_3
            idiv
            imul
            istore 4 /* resultLen */
        start local 4 // int resultLen
         4: .line 801
            new java.lang.StringBuilder
            dup
            iload 4 /* resultLen */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 5 /* result */
        start local 5 // java.lang.StringBuilder result
         5: .line 804
            iconst_0
            istore 6 /* inCursor */
        start local 6 // int inCursor
         6: .line 805
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 16
         8: .line 806
      StackMap locals: byte[] int int int int java.lang.StringBuilder int int
      StackMap stack:
            aload 0 /* a */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            baload
            sipush 255
            iand
            istore 8 /* byte0 */
        start local 8 // int byte0
         9: .line 807
            aload 0 /* a */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            baload
            sipush 255
            iand
            istore 9 /* byte1 */
        start local 9 // int byte1
        10: .line 808
            aload 0 /* a */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            baload
            sipush 255
            iand
            istore 10 /* byte2 */
        start local 10 // int byte2
        11: .line 809
            aload 5 /* result */
            getstatic javax.management.remote.rmi.RMIConnectorServer.intToAlpha:[C
            iload 8 /* byte0 */
            iconst_2
            ishr
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 810
            aload 5 /* result */
            getstatic javax.management.remote.rmi.RMIConnectorServer.intToAlpha:[C
            iload 8 /* byte0 */
            iconst_4
            ishl
            bipush 63
            iand
            iload 9 /* byte1 */
            iconst_4
            ishr
            ior
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 811
            aload 5 /* result */
            getstatic javax.management.remote.rmi.RMIConnectorServer.intToAlpha:[C
            iload 9 /* byte1 */
            iconst_2
            ishl
            bipush 63
            iand
            iload 10 /* byte2 */
            bipush 6
            ishr
            ior
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 812
            aload 5 /* result */
            getstatic javax.management.remote.rmi.RMIConnectorServer.intToAlpha:[C
            iload 10 /* byte2 */
            bipush 63
            iand
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 10 // int byte2
        end local 9 // int byte1
        end local 8 // int byte0
        15: .line 805
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 7 /* i */
            iload 2 /* numFullGroups */
            if_icmplt 8
        end local 7 // int i
        17: .line 816
            iload 3 /* numBytesInPartialGroup */
            ifeq 28
        18: .line 817
            aload 0 /* a */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            baload
            sipush 255
            iand
            istore 7 /* byte0 */
        start local 7 // int byte0
        19: .line 818
            aload 5 /* result */
            getstatic javax.management.remote.rmi.RMIConnectorServer.intToAlpha:[C
            iload 7 /* byte0 */
            iconst_2
            ishr
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        20: .line 819
            iload 3 /* numBytesInPartialGroup */
            iconst_1
            if_icmpne 24
        21: .line 820
            aload 5 /* result */
            getstatic javax.management.remote.rmi.RMIConnectorServer.intToAlpha:[C
            iload 7 /* byte0 */
            iconst_4
            ishl
            bipush 63
            iand
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        22: .line 821
            aload 5 /* result */
            ldc "=="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 822
            goto 28
        24: .line 824
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            baload
            sipush 255
            iand
            istore 8 /* byte1 */
        start local 8 // int byte1
        25: .line 825
            aload 5 /* result */
            getstatic javax.management.remote.rmi.RMIConnectorServer.intToAlpha:[C
            iload 7 /* byte0 */
            iconst_4
            ishl
            bipush 63
            iand
            iload 8 /* byte1 */
            iconst_4
            ishr
            ior
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        26: .line 826
            aload 5 /* result */
            getstatic javax.management.remote.rmi.RMIConnectorServer.intToAlpha:[C
            iload 8 /* byte1 */
            iconst_2
            ishl
            bipush 63
            iand
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 827
            aload 5 /* result */
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 8 // int byte1
        end local 7 // int byte0
        28: .line 832
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // int inCursor
        end local 5 // java.lang.StringBuilder result
        end local 4 // int resultLen
        end local 3 // int numBytesInPartialGroup
        end local 2 // int numFullGroups
        end local 1 // int aLen
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   29     0                       a  [B
            1   29     1                    aLen  I
            2   29     2           numFullGroups  I
            3   29     3  numBytesInPartialGroup  I
            4   29     4               resultLen  I
            5   29     5                  result  Ljava/lang/StringBuilder;
            6   29     6                inCursor  I
            7   17     7                       i  I
            9   15     8                   byte0  I
           10   15     9                   byte1  I
           11   15    10                   byte2  I
           19   28     7                   byte0  I
           25   28     8                   byte1  I
    MethodParameters:
      Name  Flags
      a     

  private static java.io.IOException newIOException(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/IOException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String message
        start local 1 // java.lang.Throwable cause
         0: .line 854
            new java.io.IOException
            dup
            aload 0 /* message */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 2 /* x */
        start local 2 // java.io.IOException x
         1: .line 855
            aload 2 /* x */
            aload 1 /* cause */
            invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.io.IOException
            areturn
        end local 2 // java.io.IOException x
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  message  Ljava/lang/String;
            0    2     1    cause  Ljava/lang/Throwable;
            1    2     2        x  Ljava/io/IOException;
    MethodParameters:
         Name  Flags
      message  
      cause    
}
SourceFile: "RMIConnectorServer.java"