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"

  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 804
            bipush 64
            newarray 5
            dup
            iconst_0
         1: .line 805
            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 806
            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 807
            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 808
            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 809
            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 804
            putstatic javax.management.remote.rmi.RMIConnectorServer.intToAlpha:[C
         7: .line 827
            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 826
            putstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
         9: .line 843
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
        10: .line 842
            putstatic javax.management.remote.rmi.RMIConnectorServer.openedServers:Ljava/util/Set;
        11: .line 843
            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 128
            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 129
            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 163
            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 164
            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 204
            aload 0 /* this */
            aload 4 /* mbeanServer */
            invokespecial javax.management.remote.JMXConnectorServer.<init>:(Ljavax/management/MBeanServer;)V
         1: .line 832
            aload 0 /* this */
            aconst_null
            putfield javax.management.remote.rmi.RMIConnectorServer.defaultClassLoader:Ljava/lang/ClassLoader;
         2: .line 841
            aload 0 /* this */
            iconst_0
            putfield javax.management.remote.rmi.RMIConnectorServer.state:I
         3: .line 206
            aload 1 /* url */
            ifnonnull 6
         4: .line 207
            new java.lang.IllegalArgumentException
            dup
            ldc "Null JMXServiceURL"
         5: .line 206
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 208
      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 209
            aload 1 /* url */
            invokevirtual javax.management.remote.JMXServiceURL.getProtocol:()Ljava/lang/String;
            astore 5 /* prt */
        start local 5 // java.lang.String prt
         8: .line 210
            aload 5 /* prt */
            ifnull 9
            aload 5 /* prt */
            ldc "rmi"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            aload 5 /* prt */
            ldc "iiop"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         9: .line 211
      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 212
            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 214
      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 215
            aload 6 /* urlPath */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
        13: .line 216
            aload 6 /* urlPath */
            ldc "/"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
        14: .line 217
            aload 6 /* urlPath */
            ldc "/jndi/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 16
        15: .line 220
            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 224
      StackMap locals:
      StackMap stack:
            aload 2 /* environment */
            ifnonnull 18
        17: .line 225
            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 227
      StackMap locals:
      StackMap stack:
            aload 2 /* environment */
            invokestatic com.sun.jmx.remote.util.EnvHelp.checkAttributes:(Ljava/util/Map;)V
        19: .line 228
            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 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* url */
            putfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
        21: .line 232
            aload 0 /* this */
            aload 3 /* rmiServerImpl */
            putfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
        22: .line 233
            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 261
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.isActive:()Z
            ifne 3
         1: .line 262
            new java.lang.IllegalStateException
            dup
            ldc "Connector is not active"
         2: .line 261
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 265
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
         4: .line 266
            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 267
      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 265
      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 269
            aload 1 /* env */
            ifnull 10
         8: .line 270
            aload 1 /* env */
            invokestatic com.sun.jmx.remote.util.EnvHelp.checkAttributes:(Ljava/util/Map;)V
         9: .line 271
            aload 2 /* usemap */
            aload 1 /* env */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        10: .line 274
      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 276
            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 278
            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=7, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
         0: .line 342
            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 344
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.state:I
            iconst_1
            if_icmpne 4
         2: .line 345
            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 346
      StackMap locals: int
      StackMap stack:
            return
         4: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.state:I
            iconst_2
            if_icmpne 7
         5: .line 348
            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 349
      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 352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.getMBeanServer:()Ljavax/management/MBeanServer;
            ifnonnull 9
         8: .line 353
            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 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            ifnull 20
        10: .line 363
            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 362
            astore 2 /* accessFile */
        start local 2 // java.lang.String accessFile
        12: .line 364
            aload 2 /* accessFile */
            ifnull 20
        13: .line 368
            aconst_null
            astore 3 /* mbsf */
        start local 3 // javax.management.remote.MBeanServerForwarder mbsf
        14: .line 370
            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 */
        15: .line 371
            goto 19
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer int java.lang.String javax.management.remote.MBeanServerForwarder
      StackMap stack: java.io.IOException
        16: astore 4 /* e */
        start local 4 // java.io.IOException e
        17: .line 373
            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 */
        18: .line 372
            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
        19: .line 377
      StackMap locals:
      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
        20: .line 382
      StackMap locals:
      StackMap stack:
            iload 1 /* tracing */
            ifeq 21
            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
        21: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        22: .line 384
            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;
            invokestatic com.sun.jmx.remote.util.EnvHelp.resolveServerClassLoader:(Ljava/util/Map;Ljavax/management/MBeanServer;)Ljava/lang/ClassLoader;
        23: .line 383
            putfield javax.management.remote.rmi.RMIConnectorServer.defaultClassLoader:Ljava/lang/ClassLoader;
        24: .line 385
            goto 29
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
        25: astore 2 /* infc */
        start local 2 // javax.management.InstanceNotFoundException infc
        26: .line 387
            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;
        27: .line 386
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            astore 3 /* x */
        start local 3 // java.lang.IllegalArgumentException x
        28: .line 388
            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
        29: .line 391
      StackMap locals:
      StackMap stack:
            iload 1 /* tracing */
            ifeq 30
            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
        30: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
            ifnull 33
        31: .line 395
            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
        32: goto 34
        end local 2 // javax.management.remote.rmi.RMIServerImpl rmiServer
        33: .line 397
      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
        34: .line 399
      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
        35: .line 400
            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
        36: .line 401
            aload 2 /* rmiServer */
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIServerImpl.setRMIConnectorServer:(Ljavax/management/remote/rmi/RMIConnectorServer;)V
        37: .line 402
            aload 2 /* rmiServer */
            invokevirtual javax.management.remote.rmi.RMIServerImpl.export:()V
        38: .line 405
            iload 1 /* tracing */
            ifeq 39
            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
        39: .line 406
      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
        40: .line 408
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            ifnull 60
            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 60
        41: .line 409
            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
        42: .line 411
            iload 1 /* tracing */
            ifeq 44
        43: .line 412
            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
        44: .line 415
      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;
        45: .line 416
            ldc "jmx.remote.jndi.rebind"
        46: .line 414
            invokestatic com.sun.jmx.remote.util.EnvHelp.computeBooleanFromString:(Ljava/util/Map;Ljava/lang/String;)Z
            istore 5 /* rebind */
        start local 5 // boolean rebind
        47: .line 418
            iload 1 /* tracing */
            ifeq 49
        48: .line 419
            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 5 /* 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
        49: .line 422
      StackMap locals: int
      StackMap stack:
            iload 1 /* tracing */
            ifeq 50
            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
        50: .line 424
      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 6 /* usemap */
        start local 6 // java.util.Hashtable usemap
        51: .line 426
            aload 0 /* this */
            aload 4 /* jndiUrl */
            aload 6 /* usemap */
            aload 3 /* objref */
            iload 5 /* rebind */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.bind:(Ljava/lang/String;Ljava/util/Hashtable;Ljavax/management/remote/rmi/RMIServer;Z)V
        52: .line 428
            aload 0 /* this */
            aload 4 /* jndiUrl */
            putfield javax.management.remote.rmi.RMIConnectorServer.boundJndiUrl:Ljava/lang/String;
        end local 6 // java.util.Hashtable usemap
        53: .line 429
            goto 77
      StackMap locals:
      StackMap stack: javax.naming.NamingException
        54: astore 6 /* e */
        start local 6 // javax.naming.NamingException e
        55: .line 431
            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;
        56: .line 432
            aload 6 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        57: .line 431
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        58: .line 432
            aload 6 /* e */
        59: .line 431
            invokestatic javax.management.remote.rmi.RMIConnectorServer.newIOException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 6 // javax.naming.NamingException e
        end local 5 // boolean rebind
        end local 4 // java.lang.String jndiUrl
        60: .line 436
      StackMap locals:
      StackMap stack:
            iload 1 /* tracing */
            ifeq 61
            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
        61: .line 438
      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
        62: .line 440
            iload 1 /* tracing */
            ifeq 77
            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
        63: .line 442
            goto 77
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer int javax.management.remote.rmi.RMIServerImpl
      StackMap stack: java.lang.Exception
        64: astore 3 /* e */
        start local 3 // java.lang.Exception e
        65: .line 444
            aload 2 /* rmiServer */
            invokevirtual javax.management.remote.rmi.RMIServerImpl.close:()V
        66: .line 445
            goto 68
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer int javax.management.remote.rmi.RMIServerImpl java.lang.Exception
      StackMap stack: java.lang.Exception
        67: pop
        68: .line 448
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            instanceof java.lang.RuntimeException
            ifeq 70
        69: .line 449
            aload 3 /* e */
            checkcast java.lang.RuntimeException
            athrow
        70: .line 450
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            instanceof java.io.IOException
            ifeq 72
        71: .line 451
            aload 3 /* e */
            checkcast java.io.IOException
            athrow
        72: .line 453
      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
        73: .line 455
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        74: .line 453
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        75: .line 455
            aload 3 /* e */
        76: .line 453
            invokestatic javax.management.remote.rmi.RMIConnectorServer.newIOException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 3 // java.lang.Exception e
        77: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* rmiServer */
            putfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
        78: .line 460
            getstatic javax.management.remote.rmi.RMIConnectorServer.openedServers:Ljava/util/Set;
            dup
            astore 3
            monitorenter
        79: .line 461
            getstatic javax.management.remote.rmi.RMIConnectorServer.openedServers:Ljava/util/Set;
            aload 0 /* this */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        80: .line 460
            aload 3
            monitorexit
        81: goto 84
      StackMap locals: javax.management.remote.rmi.RMIConnectorServer int javax.management.remote.rmi.RMIServerImpl java.util.Set
      StackMap stack: java.lang.Throwable
        82: aload 3
            monitorexit
        83: athrow
        84: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javax.management.remote.rmi.RMIConnectorServer.state:I
        85: .line 466
            iload 1 /* tracing */
            ifeq 88
        86: .line 467
            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
        87: .line 468
            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
        88: .line 470
      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   89     0        this  Ljavax/management/remote/rmi/RMIConnectorServer;
            1   89     1     tracing  Z
           12   20     2  accessFile  Ljava/lang/String;
           14   20     3        mbsf  Ljavax/management/remote/MBeanServerForwarder;
           17   19     4           e  Ljava/io/IOException;
           26   29     2        infc  Ljavax/management/InstanceNotFoundException;
           28   29     3           x  Ljava/lang/IllegalArgumentException;
           32   33     2   rmiServer  Ljavax/management/remote/rmi/RMIServerImpl;
           34   89     2   rmiServer  Ljavax/management/remote/rmi/RMIServerImpl;
           40   63     3      objref  Ljavax/management/remote/rmi/RMIServer;
           42   60     4     jndiUrl  Ljava/lang/String;
           47   60     5      rebind  Z
           51   53     6      usemap  Ljava/util/Hashtable;
           55   60     6           e  Ljavax/naming/NamingException;
           65   77     3           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          14    15      16  Class java.io.IOException
          20    24      25  Class javax.management.InstanceNotFoundException
          49    53      54  Class javax.naming.NamingException
          38    63      64  Class java.lang.Exception
          65    66      67  Class java.lang.Exception
          79    81      82  any
          82    83      82  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 518
            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 520
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 521
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.state:I
            iconst_2
            if_icmpne 6
         3: .line 522
            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 523
      StackMap locals: int javax.management.remote.rmi.RMIConnectorServer
      StackMap stack:
            aload 2
            monitorexit
         5: return
         6: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.state:I
            ifne 8
         7: .line 525
            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 528
      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 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield javax.management.remote.rmi.RMIConnectorServer.state:I
        10: .line 520
            aload 2
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 2
            monitorexit
        13: athrow
        14: .line 532
      StackMap locals:
      StackMap stack:
            getstatic javax.management.remote.rmi.RMIConnectorServer.openedServers:Ljava/util/Set;
            dup
            astore 2
            monitorenter
        15: .line 533
            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 532
            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 536
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* exception */
        start local 2 // java.io.IOException exception
        21: .line 539
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
            ifnull 29
        22: .line 541
            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 542
      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 543
            goto 29
      StackMap locals:
      StackMap stack: java.io.IOException
        25: astore 3 /* e */
        start local 3 // java.io.IOException e
        26: .line 544
            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 545
      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 546
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            astore 2 /* exception */
        end local 3 // java.io.IOException e
        29: .line 550
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.boundJndiUrl:Ljava/lang/String;
            ifnull 45
        30: .line 552
            iload 1 /* tracing */
            ifeq 34
        31: .line 553
            getstatic javax.management.remote.rmi.RMIConnectorServer.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "stop"
        32: .line 554
            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 553
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        34: .line 556
      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 559
            new javax.naming.InitialContext
            dup
            aload 3 /* usemap */
            invokespecial javax.naming.InitialContext.<init>:(Ljava/util/Hashtable;)V
        36: .line 558
            astore 4 /* ctx */
        start local 4 // javax.naming.InitialContext ctx
        37: .line 561
            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 563
            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 564
            goto 45
      StackMap locals:
      StackMap stack: javax.naming.NamingException
        40: astore 3 /* e */
        start local 3 // javax.naming.NamingException e
        41: .line 565
            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 566
      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 568
      StackMap locals:
      StackMap stack:
            aload 2 /* exception */
            ifnonnull 45
        44: .line 569
            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 573
      StackMap locals:
      StackMap stack:
            aload 2 /* exception */
            ifnull 46
            aload 2 /* exception */
            athrow
        46: .line 575
      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 576
      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 579
            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 583
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnectorServer.isActive:()Z
            ifne 2
         1: .line 584
            aconst_null
            areturn
         2: .line 585
      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 589
            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 590
            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 595
            aload 0 /* this */
            aload 1 /* mbsf */
            invokespecial javax.management.remote.JMXConnectorServer.setMBeanServerForwarder:(Ljavax/management/remote/MBeanServerForwarder;)V
         1: .line 596
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.rmiServerImpl:Ljavax/management/remote/rmi/RMIServerImpl;
            ifnull 3
         2: .line 597
            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 598
      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 606
            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 607
            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 611
            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 612
            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 616
            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 617
            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, boolean);
    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 634
            new javax.naming.InitialContext
            dup
            aload 2 /* attributes */
            invokespecial javax.naming.InitialContext.<init>:(Ljava/util/Hashtable;)V
         1: .line 633
            astore 5 /* ctx */
        start local 5 // javax.naming.InitialContext ctx
         2: .line 636
            iload 4 /* rebind */
            ifeq 4
         3: .line 637
            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 639
      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 640
      StackMap locals:
      StackMap stack:
            aload 5 /* ctx */
            invokevirtual javax.naming.InitialContext.close:()V
         6: .line 641
            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
    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=3, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
         0: .line 647
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            iconst_1
            invokestatic javax.management.remote.rmi.RMIConnectorServer.isIiopURL:(Ljavax/management/remote/JMXServiceURL;Z)Z
            istore 1 /* iiop */
        start local 1 // boolean iiop
         1: .line 649
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            ifnonnull 4
         2: .line 650
            iconst_0
            istore 2 /* port */
        start local 2 // int port
         3: goto 5
        end local 2 // int port
         4: .line 652
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.address:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getPort:()I
            istore 2 /* port */
        start local 2 // int port
         5: .line 653
      StackMap locals: int
      StackMap stack:
            iload 1 /* iiop */
            ifeq 7
         6: .line 654
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            invokestatic javax.management.remote.rmi.RMIConnectorServer.newIIOPServer:(Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServerImpl;
            areturn
         7: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnectorServer.attributes:Ljava/util/Map;
            iload 2 /* port */
            invokestatic javax.management.remote.rmi.RMIConnectorServer.newJRMPServer:(Ljava/util/Map;I)Ljavax/management/remote/rmi/RMIServerImpl;
            areturn
        end local 2 // int port
        end local 1 // boolean iiop
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/management/remote/rmi/RMIConnectorServer;
            1    8     1  iiop  Z
            3    4     2  port  I
            5    8     2  port  I
    Exceptions:
      throws java.io.IOException

  private void encodeStubInAddress(javax.management.remote.rmi.RMIServer, java.util.Map);
    descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.management.remote.rmi.RMIConnectorServer this
         0: .line 672
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tjavax.rmi.CORBA cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // javax.management.remote.rmi.RMIConnectorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/remote/rmi/RMIConnectorServer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      rmiServer   
      attributes  

  static boolean isIiopURL(javax.management.remote.JMXServiceURL, boolean);
    descriptor: (Ljavax/management/remote/JMXServiceURL;Z)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.management.remote.JMXServiceURL directoryURL
        start local 1 // boolean strict
         0: .line 691
            aload 0 /* directoryURL */
            invokevirtual javax.management.remote.JMXServiceURL.getProtocol:()Ljava/lang/String;
            astore 2 /* protocol */
        start local 2 // java.lang.String protocol
         1: .line 692
            aload 2 /* protocol */
            ldc "rmi"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 693
            iconst_0
            ireturn
         3: .line 694
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* protocol */
            ldc "iiop"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 695
            iconst_1
            ireturn
         5: .line 696
      StackMap locals:
      StackMap stack:
            iload 1 /* strict */
            ifeq 9
         6: .line 698
            new java.net.MalformedURLException
            dup
            new java.lang.StringBuilder
            dup
            ldc "URL must have protocol \"rmi\" or \"iiop\": \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 700
            aload 2 /* protocol */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 698
            invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 702
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.String protocol
        end local 1 // boolean strict
        end local 0 // javax.management.remote.JMXServiceURL directoryURL
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0  directoryURL  Ljavax/management/remote/JMXServiceURL;
            0   10     1        strict  Z
            1   10     2      protocol  Ljava/lang/String;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
              Name  Flags
      directoryURL  
      strict        

  static java.lang.String encodeStub(javax.management.remote.rmi.RMIServer, java.util.Map);
    descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 709
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tjavax.rmi.CORBA cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      rmiServer  
      env        

  static java.lang.String encodeJRMPStub(javax.management.remote.rmi.RMIServer, java.util.Map);
    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 717
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* bout */
        start local 2 // java.io.ByteArrayOutputStream bout
         1: .line 718
            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 719
            aload 3 /* oout */
            aload 0 /* rmiServer */
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
         3: .line 720
            aload 3 /* oout */
            invokevirtual java.io.ObjectOutputStream.close:()V
         4: .line 721
            aload 2 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            astore 4 /* bytes */
        start local 4 // byte[] bytes
         5: .line 722
            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;
            1    6     2       bout  Ljava/io/ByteArrayOutputStream;
            2    6     3       oout  Ljava/io/ObjectOutputStream;
            5    6     4      bytes  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      rmiServer  
      env        

  static java.lang.String encodeIIOPStub(javax.management.remote.rmi.RMIServer, java.util.Map);
    descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 728
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tjavax.rmi.CORBA cannot be resolved to a type\n\tjavax.rmi.CORBA cannot be resolved to a type\n\torg.omg cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      rmiServer  
      env        

  private static javax.management.remote.rmi.RMIServer objectToBind(javax.management.remote.rmi.RMIServerImpl, java.util.Map);
    descriptor: (Ljavax/management/remote/rmi/RMIServerImpl;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.management.remote.rmi.RMIServerImpl rmiServer
        start local 1 // java.util.Map env
         0: .line 743
            aload 0 /* rmiServer */
            invokevirtual javax.management.remote.rmi.RMIServerImpl.toStub:()Ljava/rmi/Remote;
            checkcast javax.management.remote.rmi.RMIServer
            aload 1 /* env */
            invokestatic javax.management.remote.rmi.RMIConnector.connectStub:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
         1: .line 742
            areturn
        end local 1 // java.util.Map env
        end local 0 // javax.management.remote.rmi.RMIServerImpl rmiServer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  rmiServer  Ljavax/management/remote/rmi/RMIServerImpl;
            0    2     1        env  Ljava/util/Map;
    Exceptions:
      throws java.io.IOException
    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 749
            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 748
            astore 2 /* csf */
        start local 2 // java.rmi.server.RMIClientSocketFactory csf
         2: .line 751
            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 750
            astore 3 /* ssf */
        start local 3 // java.rmi.server.RMIServerSocketFactory ssf
         4: .line 752
            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 javax.management.remote.rmi.RMIServerImpl newIIOPServer(java.util.Map<java.lang.String, ?>);
    descriptor: (Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServerImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Map env
         0: .line 757
            new javax.management.remote.rmi.RMIIIOPServerImpl
            dup
            aload 0 /* env */
            invokespecial javax.management.remote.rmi.RMIIIOPServerImpl.<init>:(Ljava/util/Map;)V
            areturn
        end local 0 // java.util.Map env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   env  Ljava/util/Map<Ljava/lang/String;*>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Map<Ljava/lang/String;*>;)Ljavax/management/remote/rmi/RMIServerImpl;
    MethodParameters:
      Name  Flags
      env   

  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 761
            aload 0 /* a */
            arraylength
            istore 1 /* aLen */
        start local 1 // int aLen
         1: .line 762
            iload 1 /* aLen */
            iconst_3
            idiv
            istore 2 /* numFullGroups */
        start local 2 // int numFullGroups
         2: .line 763
            iload 1 /* aLen */
            iconst_3
            iload 2 /* numFullGroups */
            imul
            isub
            istore 3 /* numBytesInPartialGroup */
        start local 3 // int numBytesInPartialGroup
         3: .line 764
            iconst_4
            iload 1 /* aLen */
            iconst_2
            iadd
            iconst_3
            idiv
            imul
            istore 4 /* resultLen */
        start local 4 // int resultLen
         4: .line 765
            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 768
            iconst_0
            istore 6 /* inCursor */
        start local 6 // int inCursor
         6: .line 769
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 16
         8: .line 770
      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 771
            aload 0 /* a */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            baload
            sipush 255
            iand
            istore 9 /* byte1 */
        start local 9 // int byte1
        10: .line 772
            aload 0 /* a */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            baload
            sipush 255
            iand
            istore 10 /* byte2 */
        start local 10 // int byte2
        11: .line 773
            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 774
            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 775
            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 776
            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 769
            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 780
            iload 3 /* numBytesInPartialGroup */
            ifeq 28
        18: .line 781
            aload 0 /* a */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            baload
            sipush 255
            iand
            istore 7 /* byte0 */
        start local 7 // int byte0
        19: .line 782
            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 783
            iload 3 /* numBytesInPartialGroup */
            iconst_1
            if_icmpne 24
        21: .line 784
            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 785
            aload 5 /* result */
            ldc "=="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 786
            goto 28
        24: .line 788
      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 789
            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 790
            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 791
            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 796
      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 818
            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 819
            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"