public class javax.management.remote.rmi.RMIConnector implements javax.management.remote.JMXConnector, java.io.Serializable, javax.management.remote.JMXAddressable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.management.remote.rmi.RMIConnector
  super_class: java.lang.Object
{
  private static final com.sun.jmx.remote.util.ClassLogger logger;
    descriptor: Lcom/sun/jmx/remote/util/ClassLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 817323035842634473

  private static final java.lang.String rmiServerImplStubClassName;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Class<?> rmiServerImplStubClass;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final java.lang.String rmiConnectionImplStubClassName;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Class<?> rmiConnectionImplStubClass;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final java.lang.String pRefClassName;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jmx.remote.internal.PRef"

  private static final java.lang.reflect.Constructor<?> proxyRefConstructor;
    descriptor: Ljava/lang/reflect/Constructor;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/reflect/Constructor<*>;

  private static final java.lang.String iiopConnectionStubClassName;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub"

  private static final java.lang.String proxyStubClassName;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jmx.remote.protocol.iiop.ProxyStub"

  private static final java.lang.String ProxyInputStreamClassName;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jmx.remote.protocol.iiop.ProxyInputStream"

  private static final java.lang.String pInputStreamClassName;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jmx.remote.protocol.iiop.PInputStream"

  private static final java.lang.Class<?> proxyStubClass;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final byte[] base64ToInt;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final javax.management.remote.rmi.RMIServer rmiServer;
    descriptor: Ljavax/management/remote/rmi/RMIServer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.management.remote.JMXServiceURL jmxServiceURL;
    descriptor: Ljavax/management/remote/JMXServiceURL;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private transient java.util.Map<java.lang.String, java.lang.Object> env;
    descriptor: Ljava/util/Map;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private transient java.lang.ClassLoader defaultClassLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient javax.management.remote.rmi.RMIConnection connection;
    descriptor: Ljavax/management/remote/rmi/RMIConnection;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.String connectionId;
    descriptor: Ljava/lang/String;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient long clientNotifSeqNo;
    descriptor: J
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.util.WeakHashMap<javax.security.auth.Subject, java.lang.ref.WeakReference<javax.management.MBeanServerConnection>> rmbscMap;
    descriptor: Ljava/util/WeakHashMap;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/WeakHashMap<Ljavax/security/auth/Subject;Ljava/lang/ref/WeakReference<Ljavax/management/MBeanServerConnection;>;>;

  private transient java.lang.ref.WeakReference<javax.management.MBeanServerConnection> nullSubjectConnRef;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/lang/ref/WeakReference<Ljavax/management/MBeanServerConnection;>;

  private transient javax.management.remote.rmi.RMIConnector$RMINotifClient rmiNotifClient;
    descriptor: Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient long clientNotifCounter;
    descriptor: J
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient boolean connected;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient boolean terminated;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.lang.Exception closeException;
    descriptor: Ljava/lang/Exception;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient javax.management.NotificationBroadcasterSupport connectionBroadcaster;
    descriptor: Ljavax/management/NotificationBroadcasterSupport;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient com.sun.jmx.remote.internal.ClientCommunicatorAdmin communicatorAdmin;
    descriptor: Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private static volatile java.lang.ref.WeakReference<java.lang.Object> orb;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
    Signature: Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=0
         0: .line 124
            new com.sun.jmx.remote.util.ClassLogger
            dup
            ldc "javax.management.remote.rmi"
            ldc "RMIConnector"
            invokespecial com.sun.jmx.remote.util.ClassLogger.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 123
            putstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
         2: .line 2118
            new java.lang.StringBuilder
            dup
            ldc Ljavax/management/remote/rmi/RMIServer;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Impl_Stub"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 2117
            putstatic javax.management.remote.rmi.RMIConnector.rmiServerImplStubClassName:Ljava/lang/String;
         4: .line 2121
            new java.lang.StringBuilder
            dup
            ldc Ljavax/management/remote/rmi/RMIConnection;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Impl_Stub"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 2120
            putstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClassName:Ljava/lang/String;
         6: .line 2140
            ldc "\u00CA\u00FE\u00BA\u00BE\u0000\u0000\u0000.\u0000\u0017\n\u0000\u0005\u0000\r\t\u0000\u0004\u0000\u000E\u000B\u0000\u000F\u0000\u0010\u0007\u0000\u0011\u0007\u0000\u0012\u0001\u0000\u0006<init>\u0001\u0000\u001E(Ljava/rmi/server/RemoteRef;)V\u0001\u0000\u0004Code\u0001\u0000\u0006invoke\u0001\u0000S(Ljava/rmi/Remote;Ljava/lang/reflect/Method;[Ljava/lang/Object;J)Ljava/lang/Object;\u0001\u0000\nExceptions\u0007\u0000\u0013\f\u0000\u0006\u0000\u0007\f\u0000\u0014\u0000\u0015\u0007\u0000\u0016\f\u0000\t\u0000\n\u0001\u0000 com/sun/jmx/remote/internal/PRef\u0001\u0000$com/sun/jmx/remote/internal/ProxyRef\u0001\u0000\u0013java/lang/Exception\u0001\u0000\u0003ref\u0001\u0000\u001BLjava/rmi/server/RemoteRef;\u0001\u0000\u0019java/rmi/server/RemoteRef\u0000!\u0000\u0004\u0000\u0005\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0001\u0000\u0006\u0000\u0007\u0000\u0001\u0000\b\u0000\u0000\u0000\u0012\u0000\u0002\u0000\u0002\u0000\u0000\u0000\u0006*+\u00B7\u0000\u0001\u00B1\u0000\u0000\u0000\u0000\u0000\u0001\u0000\t\u0000\n\u0000\u0002\u0000\b\u0000\u0000\u0000\u001B\u0000\u0006\u0000\u0006\u0000\u0000\u0000\u000F*\u00B4\u0000\u0002+,-\u0016\u0004\u00B9\u0000\u0003\u0006\u0000\u00B0\u0000\u0000\u0000\u0000\u0000\u000B\u0000\u0000\u0000\u0004\u0000\u0001\u0000\f\u0000\u0000"
            invokestatic javax.management.remote.rmi.NoCallStackClassLoader.stringToBytes:(Ljava/lang/String;)[B
         7: .line 2139
            astore 0 /* pRefByteCode */
        start local 0 // byte[] pRefByteCode
         8: .line 2142
            new javax.management.remote.rmi.RMIConnector$1
            dup
            aload 0 /* pRefByteCode */
            invokespecial javax.management.remote.rmi.RMIConnector$1.<init>:([B)V
         9: .line 2141
            astore 1 /* action */
        start local 1 // java.security.PrivilegedExceptionAction action
        10: .line 2162
            getstatic javax.management.remote.rmi.RMIConnector.rmiServerImplStubClassName:Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* serverStubClass */
        start local 2 // java.lang.Class serverStubClass
        11: .line 2163
            goto 20
        end local 2 // java.lang.Class serverStubClass
      StackMap locals: byte[] java.security.PrivilegedExceptionAction
      StackMap stack: java.lang.Exception
        12: astore 3 /* e */
        start local 3 // java.lang.Exception e
        13: .line 2164
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "<clinit>"
        14: .line 2165
            new java.lang.StringBuilder
            dup
            ldc "Failed to instantiate "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 2166
            getstatic javax.management.remote.rmi.RMIConnector.rmiServerImplStubClassName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        16: .line 2165
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 2164
            invokevirtual com.sun.jmx.remote.util.ClassLogger.error:(Ljava/lang/String;Ljava/lang/String;)V
        18: .line 2167
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "<clinit>"
            aload 3 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        19: .line 2168
            aconst_null
            astore 2 /* serverStubClass */
        end local 3 // java.lang.Exception e
        start local 2 // java.lang.Class serverStubClass
        20: .line 2170
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* serverStubClass */
            putstatic javax.management.remote.rmi.RMIConnector.rmiServerImplStubClass:Ljava/lang/Class;
        21: .line 2175
            getstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClassName:Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* stubClass */
        start local 3 // java.lang.Class stubClass
        22: .line 2176
            aload 1 /* action */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.lang.reflect.Constructor
            astore 4 /* constr */
        start local 4 // java.lang.reflect.Constructor constr
        23: .line 2177
            goto 33
        end local 4 // java.lang.reflect.Constructor constr
        end local 3 // java.lang.Class stubClass
      StackMap locals:
      StackMap stack: java.lang.Exception
        24: astore 5 /* e */
        start local 5 // java.lang.Exception e
        25: .line 2178
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "<clinit>"
        26: .line 2179
            new java.lang.StringBuilder
            dup
            ldc "Failed to initialize proxy reference constructor for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 2180
            getstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClassName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        28: .line 2179
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 2178
            invokevirtual com.sun.jmx.remote.util.ClassLogger.error:(Ljava/lang/String;Ljava/lang/String;)V
        30: .line 2181
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "<clinit>"
            aload 5 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        31: .line 2182
            aconst_null
            astore 3 /* stubClass */
        start local 3 // java.lang.Class stubClass
        32: .line 2183
            aconst_null
            astore 4 /* constr */
        end local 5 // java.lang.Exception e
        start local 4 // java.lang.reflect.Constructor constr
        33: .line 2185
      StackMap locals: java.lang.Class java.lang.reflect.Constructor
      StackMap stack:
            aload 3 /* stubClass */
            putstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClass:Ljava/lang/Class;
        34: .line 2186
            aload 4 /* constr */
            putstatic javax.management.remote.rmi.RMIConnector.proxyRefConstructor:Ljava/lang/reflect/Constructor;
        end local 4 // java.lang.reflect.Constructor constr
        end local 3 // java.lang.Class stubClass
        end local 2 // java.lang.Class serverStubClass
        end local 1 // java.security.PrivilegedExceptionAction action
        end local 0 // byte[] pRefByteCode
        35: .line 2370
            ldc "\u00CA\u00FE\u00BA\u00BE\u0000\u0000\u00003\u0000+\n\u0000\f\u0000\u0018\u0007\u0000\u0019\n\u0000\f\u0000\u001A\n\u0000\u0002\u0000\u001B\u0007\u0000\u001C\n\u0000\u0005\u0000\u001D\n\u0000\u0005\u0000\u001E\n\u0000\u0005\u0000\u001F\n\u0000\u0002\u0000 \n\u0000\f\u0000!\u0007\u0000\"\u0007\u0000#\u0001\u0000\u0006<init>\u0001\u0000\u0003()V\u0001\u0000\u0004Code\u0001\u0000\u0007_invoke\u0001\u0000K(Lorg/omg/CORBA/portable/OutputStream;)Lorg/omg/CORBA/portable/InputStream;\u0001\u0000\rStackMapTable\u0007\u0000\u001C\u0001\u0000\nExceptions\u0007\u0000$\u0001\u0000\r_releaseReply\u0001\u0000'(Lorg/omg/CORBA/portable/InputStream;)V\f\u0000\r\u0000\u000E\u0001\u0000-com/sun/jmx/remote/protocol/iiop/PInputStream\f\u0000\u0010\u0000\u0011\f\u0000\r\u0000\u0017\u0001\u0000+org/omg/CORBA/portable/ApplicationException\f\u0000%\u0000&\f\u0000'\u0000(\f\u0000\r\u0000)\f\u0000*\u0000&\f\u0000\u0016\u0000\u0017\u0001\u0000*com/sun/jmx/remote/protocol/iiop/ProxyStub\u0001\u0000<org/omg/stub/javax/management/remote/rmi/_RMIConnection_Stub\u0001\u0000)org/omg/CORBA/portable/RemarshalException\u0001\u0000\u000EgetInputStream\u0001\u0000&()Lorg/omg/CORBA/portable/InputStream;\u0001\u0000\u0005getId\u0001\u0000\u0014()Ljava/lang/String;\u0001\u00009(Ljava/lang/String;Lorg/omg/CORBA/portable/InputStream;)V\u0001\u0000\u0015getProxiedInputStream\u0000!\u0000\u000B\u0000\f\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0001\u0000\r\u0000\u000E\u0000\u0001\u0000\u000F\u0000\u0000\u0000\u0011\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0005*\u00B7\u0000\u0001\u00B1\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0010\u0000\u0011\u0000\u0002\u0000\u000F\u0000\u0000\u0000G\u0000\u0004\u0000\u0004\u0000\u0000\u0000'\u00BB\u0000\u0002Y*+\u00B7\u0000\u0003\u00B7\u0000\u0004\u00B0M\u00BB\u0000\u0002Y,\u00B6\u0000\u0006\u00B7\u0000\u0004N\u00BB\u0000\u0005Y,\u00B6\u0000\u0007-\u00B7\u0000\b\u00BF\u0000\u0001\u0000\u0000\u0000\f\u0000\r\u0000\u0005\u0000\u0001\u0000\u0012\u0000\u0000\u0000\u0006\u0000\u0001M\u0007\u0000\u0013\u0000\u0014\u0000\u0000\u0000\u0006\u0000\u0002\u0000\u0005\u0000\u0015\u0000\u0001\u0000\u0016\u0000\u0017\u0000\u0001\u0000\u000F\u0000\u0000\u0000'\u0000\u0002\u0000\u0002\u0000\u0000\u0000\u0012+\u00C6\u0000\u000B+\u00C0\u0000\u0002\u00B6\u0000\tL*+\u00B7\u0000\n\u00B1\u0000\u0000\u0000\u0001\u0000\u0012\u0000\u0000\u0000\u0003\u0000\u0001\f\u0000\u0000"
            invokestatic javax.management.remote.rmi.NoCallStackClassLoader.stringToBytes:(Ljava/lang/String;)[B
        36: .line 2369
            astore 0 /* proxyStubByteCode */
        start local 0 // byte[] proxyStubByteCode
        37: .line 2372
            ldc "\u00CA\u00FE\u00BA\u00BE\u0000\u0000\u00003\u0000\u001E\n\u0000\u0007\u0000\u000F\t\u0000\u0006\u0000\u0010\n\u0000\u0011\u0000\u0012\n\u0000\u0006\u0000\u0013\n\u0000\u0014\u0000\u0015\u0007\u0000\u0016\u0007\u0000\u0017\u0001\u0000\u0006<init>\u0001\u0000'(Lorg/omg/CORBA/portable/InputStream;)V\u0001\u0000\u0004Code\u0001\u0000\bread_any\u0001\u0000\u0015()Lorg/omg/CORBA/Any;\u0001\u0000\nread_value\u0001\u0000)(Ljava/lang/Class;)Ljava/io/Serializable;\f\u0000\b\u0000\t\f\u0000\u0018\u0000\u0019\u0007\u0000\u001A\f\u0000\u000B\u0000\f\f\u0000\u001B\u0000\u001C\u0007\u0000\u001D\f\u0000\r\u0000\u000E\u0001\u0000-com/sun/jmx/remote/protocol/iiop/PInputStream\u0001\u00001com/sun/jmx/remote/protocol/iiop/ProxyInputStream\u0001\u0000\u0002in\u0001\u0000$Lorg/omg/CORBA/portable/InputStream;\u0001\u0000\"org/omg/CORBA/portable/InputStream\u0001\u0000\u0006narrow\u0001\u0000*()Lorg/omg/CORBA_2_3/portable/InputStream;\u0001\u0000&org/omg/CORBA_2_3/portable/InputStream\u0000!\u0000\u0006\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0001\u0000\b\u0000\t\u0000\u0001\u0000\n\u0000\u0000\u0000\u0012\u0000\u0002\u0000\u0002\u0000\u0000\u0000\u0006*+\u00B7\u0000\u0001\u00B1\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u000B\u0000\f\u0000\u0001\u0000\n\u0000\u0000\u0000\u0014\u0000\u0001\u0000\u0001\u0000\u0000\u0000\b*\u00B4\u0000\u0002\u00B6\u0000\u0003\u00B0\u0000\u0000\u0000\u0000\u0000\u0001\u0000\r\u0000\u000E\u0000\u0001\u0000\n\u0000\u0000\u0000\u0015\u0000\u0002\u0000\u0002\u0000\u0000\u0000\t*\u00B6\u0000\u0004+\u00B6\u0000\u0005\u00B0\u0000\u0000\u0000\u0000\u0000\u0000"
            invokestatic javax.management.remote.rmi.NoCallStackClassLoader.stringToBytes:(Ljava/lang/String;)[B
        38: .line 2371
            astore 1 /* pInputStreamByteCode */
        start local 1 // byte[] pInputStreamByteCode
        39: .line 2373
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "com.sun.jmx.remote.protocol.iiop.ProxyStub"
            aastore
            dup
            iconst_1
            ldc "com.sun.jmx.remote.protocol.iiop.PInputStream"
            aastore
            astore 2 /* classNames */
        start local 2 // java.lang.String[] classNames
        40: .line 2374
            iconst_2
            anewarray byte[]
            dup
            iconst_0
            aload 0 /* proxyStubByteCode */
            aastore
            dup
            iconst_1
            aload 1 /* pInputStreamByteCode */
            aastore
            astore 3 /* byteCodes */
        start local 3 // byte[][] byteCodes
        41: .line 2375
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        42: .line 2376
            ldc "org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub"
            aastore
            dup
            iconst_1
        43: .line 2377
            ldc "com.sun.jmx.remote.protocol.iiop.ProxyInputStream"
            aastore
        44: .line 2375
            astore 4 /* otherClassNames */
        start local 4 // java.lang.String[] otherClassNames
        45: .line 2379
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.isAvailable:()Z
            ifeq 58
        46: .line 2381
            new javax.management.remote.rmi.RMIConnector$2
            dup
            aload 2 /* classNames */
            aload 3 /* byteCodes */
            aload 4 /* otherClassNames */
            invokespecial javax.management.remote.rmi.RMIConnector$2.<init>:([Ljava/lang/String;[[B[Ljava/lang/String;)V
        47: .line 2380
            astore 5 /* action */
        start local 5 // java.security.PrivilegedExceptionAction action
        48: .line 2398
            aload 5 /* action */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 6 /* stubClass */
        start local 6 // java.lang.Class stubClass
        49: .line 2399
            goto 56
        end local 6 // java.lang.Class stubClass
      StackMap locals: byte[] byte[] java.lang.String[] byte[][] java.lang.String[] java.security.PrivilegedExceptionAction
      StackMap stack: java.lang.Exception
        50: astore 7 /* e */
        start local 7 // java.lang.Exception e
        51: .line 2400
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "<clinit>"
        52: .line 2401
            new java.lang.StringBuilder
            dup
            ldc "Unexpected exception making shadow IIOP stub class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        53: .line 2400
            invokevirtual com.sun.jmx.remote.util.ClassLogger.error:(Ljava/lang/String;Ljava/lang/String;)V
        54: .line 2402
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "<clinit>"
            aload 7 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        55: .line 2403
            aconst_null
            astore 6 /* stubClass */
        end local 7 // java.lang.Exception e
        start local 6 // java.lang.Class stubClass
        56: .line 2405
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 6 /* stubClass */
            putstatic javax.management.remote.rmi.RMIConnector.proxyStubClass:Ljava/lang/Class;
        end local 6 // java.lang.Class stubClass
        end local 5 // java.security.PrivilegedExceptionAction action
        57: .line 2406
            goto 59
        58: .line 2407
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic javax.management.remote.rmi.RMIConnector.proxyStubClass:Ljava/lang/Class;
        end local 4 // java.lang.String[] otherClassNames
        end local 3 // byte[][] byteCodes
        end local 2 // java.lang.String[] classNames
        end local 1 // byte[] pInputStreamByteCode
        end local 0 // byte[] proxyStubByteCode
        59: .line 2526
      StackMap locals:
      StackMap stack:
            bipush 123
            newarray 8
            dup
            iconst_0
        60: .line 2527
            iconst_m1
            bastore
            dup
            iconst_1
            iconst_m1
            bastore
            dup
            iconst_2
            iconst_m1
            bastore
            dup
            iconst_3
            iconst_m1
            bastore
            dup
            iconst_4
            iconst_m1
            bastore
            dup
            iconst_5
            iconst_m1
            bastore
            dup
            bipush 6
            iconst_m1
            bastore
            dup
            bipush 7
            iconst_m1
            bastore
            dup
            bipush 8
            iconst_m1
            bastore
            dup
            bipush 9
            iconst_m1
            bastore
            dup
            bipush 10
            iconst_m1
            bastore
            dup
            bipush 11
            iconst_m1
            bastore
            dup
            bipush 12
            iconst_m1
            bastore
            dup
            bipush 13
            iconst_m1
            bastore
            dup
            bipush 14
            iconst_m1
            bastore
            dup
            bipush 15
            iconst_m1
            bastore
            dup
            bipush 16
            iconst_m1
            bastore
            dup
            bipush 17
        61: .line 2528
            iconst_m1
            bastore
            dup
            bipush 18
            iconst_m1
            bastore
            dup
            bipush 19
            iconst_m1
            bastore
            dup
            bipush 20
            iconst_m1
            bastore
            dup
            bipush 21
            iconst_m1
            bastore
            dup
            bipush 22
            iconst_m1
            bastore
            dup
            bipush 23
            iconst_m1
            bastore
            dup
            bipush 24
            iconst_m1
            bastore
            dup
            bipush 25
            iconst_m1
            bastore
            dup
            bipush 26
            iconst_m1
            bastore
            dup
            bipush 27
            iconst_m1
            bastore
            dup
            bipush 28
            iconst_m1
            bastore
            dup
            bipush 29
            iconst_m1
            bastore
            dup
            bipush 30
            iconst_m1
            bastore
            dup
            bipush 31
            iconst_m1
            bastore
            dup
            bipush 32
            iconst_m1
            bastore
            dup
            bipush 33
            iconst_m1
            bastore
            dup
            bipush 34
        62: .line 2529
            iconst_m1
            bastore
            dup
            bipush 35
            iconst_m1
            bastore
            dup
            bipush 36
            iconst_m1
            bastore
            dup
            bipush 37
            iconst_m1
            bastore
            dup
            bipush 38
            iconst_m1
            bastore
            dup
            bipush 39
            iconst_m1
            bastore
            dup
            bipush 40
            iconst_m1
            bastore
            dup
            bipush 41
            iconst_m1
            bastore
            dup
            bipush 42
            iconst_m1
            bastore
            dup
            bipush 43
            bipush 62
            bastore
            dup
            bipush 44
            iconst_m1
            bastore
            dup
            bipush 45
            iconst_m1
            bastore
            dup
            bipush 46
            iconst_m1
            bastore
            dup
            bipush 47
            bipush 63
            bastore
            dup
            bipush 48
            bipush 52
            bastore
            dup
            bipush 49
            bipush 53
            bastore
            dup
            bipush 50
            bipush 54
            bastore
            dup
            bipush 51
        63: .line 2530
            bipush 55
            bastore
            dup
            bipush 52
            bipush 56
            bastore
            dup
            bipush 53
            bipush 57
            bastore
            dup
            bipush 54
            bipush 58
            bastore
            dup
            bipush 55
            bipush 59
            bastore
            dup
            bipush 56
            bipush 60
            bastore
            dup
            bipush 57
            bipush 61
            bastore
            dup
            bipush 58
            iconst_m1
            bastore
            dup
            bipush 59
            iconst_m1
            bastore
            dup
            bipush 60
            iconst_m1
            bastore
            dup
            bipush 61
            iconst_m1
            bastore
            dup
            bipush 62
            iconst_m1
            bastore
            dup
            bipush 63
            iconst_m1
            bastore
            dup
            bipush 64
            iconst_m1
            bastore
            dup
            bipush 66
            iconst_1
            bastore
            dup
            bipush 67
            iconst_2
            bastore
            dup
            bipush 68
            iconst_3
            bastore
            dup
            bipush 69
            iconst_4
            bastore
            dup
            bipush 70
        64: .line 2531
            iconst_5
            bastore
            dup
            bipush 71
            bipush 6
            bastore
            dup
            bipush 72
            bipush 7
            bastore
            dup
            bipush 73
            bipush 8
            bastore
            dup
            bipush 74
            bipush 9
            bastore
            dup
            bipush 75
            bipush 10
            bastore
            dup
            bipush 76
            bipush 11
            bastore
            dup
            bipush 77
            bipush 12
            bastore
            dup
            bipush 78
            bipush 13
            bastore
            dup
            bipush 79
            bipush 14
            bastore
            dup
            bipush 80
            bipush 15
            bastore
            dup
            bipush 81
            bipush 16
            bastore
            dup
            bipush 82
            bipush 17
            bastore
            dup
            bipush 83
            bipush 18
            bastore
            dup
            bipush 84
            bipush 19
            bastore
            dup
            bipush 85
            bipush 20
            bastore
            dup
            bipush 86
            bipush 21
            bastore
            dup
            bipush 87
            bipush 22
            bastore
            dup
            bipush 88
            bipush 23
            bastore
            dup
            bipush 89
        65: .line 2532
            bipush 24
            bastore
            dup
            bipush 90
            bipush 25
            bastore
            dup
            bipush 91
            iconst_m1
            bastore
            dup
            bipush 92
            iconst_m1
            bastore
            dup
            bipush 93
            iconst_m1
            bastore
            dup
            bipush 94
            iconst_m1
            bastore
            dup
            bipush 95
            iconst_m1
            bastore
            dup
            bipush 96
            iconst_m1
            bastore
            dup
            bipush 97
            bipush 26
            bastore
            dup
            bipush 98
            bipush 27
            bastore
            dup
            bipush 99
            bipush 28
            bastore
            dup
            bipush 100
            bipush 29
            bastore
            dup
            bipush 101
            bipush 30
            bastore
            dup
            bipush 102
            bipush 31
            bastore
            dup
            bipush 103
            bipush 32
            bastore
            dup
            bipush 104
            bipush 33
            bastore
            dup
            bipush 105
            bipush 34
            bastore
            dup
            bipush 106
        66: .line 2533
            bipush 35
            bastore
            dup
            bipush 107
            bipush 36
            bastore
            dup
            bipush 108
            bipush 37
            bastore
            dup
            bipush 109
            bipush 38
            bastore
            dup
            bipush 110
            bipush 39
            bastore
            dup
            bipush 111
            bipush 40
            bastore
            dup
            bipush 112
            bipush 41
            bastore
            dup
            bipush 113
            bipush 42
            bastore
            dup
            bipush 114
            bipush 43
            bastore
            dup
            bipush 115
            bipush 44
            bastore
            dup
            bipush 116
            bipush 45
            bastore
            dup
            bipush 117
            bipush 46
            bastore
            dup
            bipush 118
            bipush 47
            bastore
            dup
            bipush 119
            bipush 48
            bastore
            dup
            bipush 120
            bipush 49
            bastore
            dup
            bipush 121
            bipush 50
            bastore
            dup
            bipush 122
            bipush 51
            bastore
        67: .line 2526
            putstatic javax.management.remote.rmi.RMIConnector.base64ToInt:[B
        68: .line 2623
            aconst_null
            putstatic javax.management.remote.rmi.RMIConnector.orb:Ljava/lang/ref/WeakReference;
            return
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            8   35     0          pRefByteCode  [B
           10   35     1                action  Ljava/security/PrivilegedExceptionAction<Ljava/lang/reflect/Constructor<*>;>;
           11   12     2       serverStubClass  Ljava/lang/Class<*>;
           20   35     2       serverStubClass  Ljava/lang/Class<*>;
           13   20     3                     e  Ljava/lang/Exception;
           22   24     3             stubClass  Ljava/lang/Class<*>;
           32   35     3             stubClass  Ljava/lang/Class<*>;
           23   24     4                constr  Ljava/lang/reflect/Constructor<*>;
           33   35     4                constr  Ljava/lang/reflect/Constructor<*>;
           25   33     5                     e  Ljava/lang/Exception;
           37   59     0     proxyStubByteCode  [B
           39   59     1  pInputStreamByteCode  [B
           40   59     2            classNames  [Ljava/lang/String;
           41   59     3             byteCodes  [[B
           45   59     4       otherClassNames  [Ljava/lang/String;
           48   57     5                action  Ljava/security/PrivilegedExceptionAction<Ljava/lang/Class<*>;>;
           49   50     6             stubClass  Ljava/lang/Class<*>;
           56   57     6             stubClass  Ljava/lang/Class<*>;
           51   56     7                     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.Exception
          21    23      24  Class java.lang.Exception
          48    49      50  Class java.lang.Exception

  private void <init>(javax.management.remote.rmi.RMIServer, javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, ?>);
    descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // javax.management.remote.rmi.RMIServer rmiServer
        start local 2 // javax.management.remote.JMXServiceURL address
        start local 3 // java.util.Map environment
         0: .line 128
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 2598
            aload 0 /* this */
            lconst_0
            putfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
         2: .line 2601
            aload 0 /* this */
            aconst_null
            putfield javax.management.remote.rmi.RMIConnector.nullSubjectConnRef:Ljava/lang/ref/WeakReference;
         3: .line 2606
            aload 0 /* this */
            lconst_0
            putfield javax.management.remote.rmi.RMIConnector.clientNotifCounter:J
         4: .line 130
            aload 1 /* rmiServer */
            ifnonnull 7
            aload 2 /* address */
            ifnonnull 7
         5: .line 131
            new java.lang.IllegalArgumentException
            dup
            ldc "rmiServer and jmxServiceURL both null"
         6: .line 130
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 132
      StackMap locals: javax.management.remote.rmi.RMIConnector javax.management.remote.rmi.RMIServer javax.management.remote.JMXServiceURL java.util.Map
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnector.initTransients:()V
         8: .line 134
            aload 0 /* this */
            aload 1 /* rmiServer */
            putfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
         9: .line 135
            aload 0 /* this */
            aload 2 /* address */
            putfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
        10: .line 136
            aload 3 /* environment */
            ifnonnull 13
        11: .line 137
            aload 0 /* this */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            putfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
        12: .line 138
            goto 15
        13: .line 139
      StackMap locals:
      StackMap stack:
            aload 3 /* environment */
            invokestatic com.sun.jmx.remote.util.EnvHelp.checkAttributes:(Ljava/util/Map;)V
        14: .line 140
            aload 0 /* this */
            aload 3 /* environment */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
        15: .line 142
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Map environment
        end local 2 // javax.management.remote.JMXServiceURL address
        end local 1 // javax.management.remote.rmi.RMIServer rmiServer
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Ljavax/management/remote/rmi/RMIConnector;
            0   16     1    rmiServer  Ljavax/management/remote/rmi/RMIServer;
            0   16     2      address  Ljavax/management/remote/JMXServiceURL;
            0   16     3  environment  Ljava/util/Map<Ljava/lang/String;*>;
    Signature: (Ljavax/management/remote/rmi/RMIServer;Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;*>;)V
    MethodParameters:
             Name  Flags
      rmiServer    
      address      
      environment  

  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.RMIConnector this
        start local 1 // javax.management.remote.JMXServiceURL url
        start local 2 // java.util.Map environment
         0: .line 186
            aload 0 /* this */
            aconst_null
            aload 1 /* url */
            aload 2 /* environment */
            invokespecial javax.management.remote.rmi.RMIConnector.<init>:(Ljavax/management/remote/rmi/RMIServer;Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)V
         1: .line 187
            return
        end local 2 // java.util.Map environment
        end local 1 // javax.management.remote.JMXServiceURL url
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljavax/management/remote/rmi/RMIConnector;
            0    2     1          url  Ljavax/management/remote/JMXServiceURL;
            0    2     2  environment  Ljava/util/Map<Ljava/lang/String;*>;
    Signature: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;*>;)V
    MethodParameters:
             Name  Flags
      url          
      environment  

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

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnector this
         0: .line 215
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* b */
        start local 1 // java.lang.StringBuilder b
         1: .line 216
            aload 1 /* b */
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 217
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
            ifnull 4
         3: .line 218
            aload 1 /* b */
            ldc " rmiServer="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 220
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
            ifnull 7
         5: .line 221
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
            ifnull 6
            aload 1 /* b */
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 222
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            ldc " jmxServiceURL="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 224
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder b
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/management/remote/rmi/RMIConnector;
            1    8     1     b  Ljava/lang/StringBuilder;

  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.RMIConnector this
         0: .line 236
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
            areturn
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/remote/rmi/RMIConnector;

  public void connect();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnector this
         0: .line 249
            aload 0 /* this */
            aconst_null
            invokevirtual javax.management.remote.rmi.RMIConnector.connect:(Ljava/util/Map;)V
         1: .line 250
            return
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/management/remote/rmi/RMIConnector;
    Exceptions:
      throws java.io.IOException

  public synchronized void connect(java.util.Map<java.lang.String, ?>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=12, locals=13, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // java.util.Map environment
         0: .line 259
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            istore 2 /* tracing */
        start local 2 // boolean tracing
         1: .line 260
            iload 2 /* tracing */
            ifeq 2
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
            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;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 3 /* idstr */
        start local 3 // java.lang.String idstr
         4: .line 262
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.terminated:Z
            ifeq 7
         5: .line 263
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "connect"
            new java.lang.StringBuilder
            dup
            aload 3 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " already closed."
            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
         6: .line 264
            new java.io.IOException
            dup
            ldc "Connector closed"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 266
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connected:Z
            ifeq 10
         8: .line 267
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "connect"
            new java.lang.StringBuilder
            dup
            aload 3 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " already connected."
            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
         9: .line 268
            return
        10: .line 272
      StackMap locals:
      StackMap stack:
            iload 2 /* tracing */
            ifeq 11
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "connect"
            new java.lang.StringBuilder
            dup
            aload 3 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " connecting..."
            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
        11: .line 275
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
            ifnonnull 13
        12: .line 276
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            goto 14
      StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String
      StackMap stack: new 11 new 11
        13: aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
        14: .line 275
      StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String
      StackMap stack: new 11 new 11 java.util.Map
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
        15: .line 274
            astore 4 /* usemap */
        start local 4 // java.util.Map usemap
        16: .line 279
            aload 1 /* environment */
            ifnull 19
        17: .line 280
            aload 1 /* environment */
            invokestatic com.sun.jmx.remote.util.EnvHelp.checkAttributes:(Ljava/util/Map;)V
        18: .line 281
            aload 4 /* usemap */
            aload 1 /* environment */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        19: .line 285
      StackMap locals: java.util.Map
      StackMap stack:
            iload 2 /* tracing */
            ifeq 20
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "connect"
            new java.lang.StringBuilder
            dup
            aload 3 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " finding stub..."
            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
        20: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
            ifnull 21
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
            goto 22
        21: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
            aload 4 /* usemap */
            invokevirtual javax.management.remote.rmi.RMIConnector.findRMIServer:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
        22: .line 286
      StackMap locals:
      StackMap stack: javax.management.remote.rmi.RMIServer
            astore 5 /* stub */
        start local 5 // javax.management.remote.rmi.RMIServer stub
        23: .line 292
            aload 4 /* usemap */
            ldc "jmx.remote.x.check.stub"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* stringBoolean */
        start local 6 // java.lang.String stringBoolean
        24: .line 293
            aload 6 /* stringBoolean */
            invokestatic com.sun.jmx.remote.util.EnvHelp.computeBooleanFromString:(Ljava/lang/String;)Z
            istore 7 /* checkStub */
        start local 7 // boolean checkStub
        25: .line 295
            iload 7 /* checkStub */
            ifeq 26
            aload 5 /* stub */
            getstatic javax.management.remote.rmi.RMIConnector.rmiServerImplStubClass:Ljava/lang/Class;
            invokestatic javax.management.remote.rmi.RMIConnector.checkStub:(Ljava/rmi/Remote;Ljava/lang/Class;)V
        26: .line 298
      StackMap locals: javax.management.remote.rmi.RMIServer java.lang.String int
      StackMap stack:
            iload 2 /* tracing */
            ifeq 27
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "connect"
            new java.lang.StringBuilder
            dup
            aload 3 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " connecting stub..."
            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
        27: .line 299
      StackMap locals:
      StackMap stack:
            aload 5 /* stub */
            aload 4 /* usemap */
            invokestatic javax.management.remote.rmi.RMIConnector.connectStub:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
            astore 5 /* stub */
        28: .line 300
            iload 2 /* tracing */
            ifeq 29
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
            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;
            goto 30
      StackMap locals:
      StackMap stack:
        29: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
        30: astore 3 /* idstr */
        31: .line 303
            iload 2 /* tracing */
            ifeq 33
        32: .line 304
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "connect"
            new java.lang.StringBuilder
            dup
            aload 3 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " getting connection..."
            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
        33: .line 305
      StackMap locals:
      StackMap stack:
            aload 4 /* usemap */
            ldc "jmx.remote.credentials"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* credentials */
        start local 8 // java.lang.Object credentials
        34: .line 308
            aload 0 /* this */
            aload 5 /* stub */
            aload 8 /* credentials */
            iload 7 /* checkStub */
            invokestatic javax.management.remote.rmi.RMIConnector.getConnection:(Ljavax/management/remote/rmi/RMIServer;Ljava/lang/Object;Z)Ljavax/management/remote/rmi/RMIConnection;
            putfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
        35: .line 309
            goto 48
      StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String java.util.Map javax.management.remote.rmi.RMIServer java.lang.String int java.lang.Object
      StackMap stack: java.rmi.RemoteException
        36: astore 9 /* re */
        start local 9 // java.rmi.RemoteException re
        37: .line 310
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
            ifnull 47
        38: .line 311
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getProtocol:()Ljava/lang/String;
            astore 10 /* pro */
        start local 10 // java.lang.String pro
        39: .line 312
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getURLPath:()Ljava/lang/String;
            astore 11 /* path */
        start local 11 // java.lang.String path
        40: .line 314
            ldc "rmi"
            aload 10 /* pro */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 47
        41: .line 315
            aload 11 /* path */
            ldc "/jndi/iiop:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 47
        42: .line 316
            new java.net.MalformedURLException
            dup
        43: .line 317
            new java.lang.StringBuilder
            dup
            ldc "Protocol is rmi but JNDI scheme is iiop: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 316
            invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
            astore 12 /* mfe */
        start local 12 // java.net.MalformedURLException mfe
        45: .line 318
            aload 12 /* mfe */
            aload 9 /* re */
            invokevirtual java.net.MalformedURLException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        46: .line 319
            aload 12 /* mfe */
            athrow
        end local 12 // java.net.MalformedURLException mfe
        end local 11 // java.lang.String path
        end local 10 // java.lang.String pro
        47: .line 322
      StackMap locals: java.rmi.RemoteException
      StackMap stack:
            aload 9 /* re */
            athrow
        end local 9 // java.rmi.RemoteException re
        48: .line 328
      StackMap locals:
      StackMap stack:
            iload 2 /* tracing */
            ifeq 50
        49: .line 329
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "connect"
            new java.lang.StringBuilder
            dup
            aload 3 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " getting class loader..."
            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 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* usemap */
            invokestatic com.sun.jmx.remote.util.EnvHelp.resolveClientClassLoader:(Ljava/util/Map;)Ljava/lang/ClassLoader;
            putfield javax.management.remote.rmi.RMIConnector.defaultClassLoader:Ljava/lang/ClassLoader;
        51: .line 332
            aload 4 /* usemap */
            ldc "jmx.remote.default.class.loader"
        52: .line 333
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.defaultClassLoader:Ljava/lang/ClassLoader;
        53: .line 332
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        54: .line 335
            aload 0 /* this */
            new javax.management.remote.rmi.RMIConnector$RMINotifClient
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.defaultClassLoader:Ljava/lang/ClassLoader;
            aload 4 /* usemap */
            invokespecial javax.management.remote.rmi.RMIConnector$RMINotifClient.<init>:(Ljavax/management/remote/rmi/RMIConnector;Ljava/lang/ClassLoader;Ljava/util/Map;)V
            putfield javax.management.remote.rmi.RMIConnector.rmiNotifClient:Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
        55: .line 337
            aload 0 /* this */
            aload 4 /* usemap */
            putfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
        56: .line 338
            aload 4 /* usemap */
            invokestatic com.sun.jmx.remote.util.EnvHelp.getConnectionCheckPeriod:(Ljava/util/Map;)J
            lstore 9 /* checkPeriod */
        start local 9 // long checkPeriod
        57: .line 339
            aload 0 /* this */
            new javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin
            dup
            aload 0 /* this */
            lload 9 /* checkPeriod */
            invokespecial javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.<init>:(Ljavax/management/remote/rmi/RMIConnector;J)V
            putfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
        58: .line 341
            aload 0 /* this */
            iconst_1
            putfield javax.management.remote.rmi.RMIConnector.connected:Z
        59: .line 346
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnector.getConnectionId:()Ljava/lang/String;
            putfield javax.management.remote.rmi.RMIConnector.connectionId:Ljava/lang/String;
        60: .line 349
            new javax.management.remote.JMXConnectionNotification
            dup
            ldc "jmx.remote.connection.opened"
        61: .line 350
            aload 0 /* this */
        62: .line 351
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connectionId:Ljava/lang/String;
        63: .line 352
            aload 0 /* this */
            dup
            getfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
            dup2_x1
            lconst_1
            ladd
            putfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
        64: .line 353
            ldc "Successful connection"
        65: .line 354
            aconst_null
        66: .line 349
            invokespecial javax.management.remote.JMXConnectionNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;)V
        67: .line 348
            astore 11 /* connectedNotif */
        start local 11 // javax.management.Notification connectedNotif
        68: .line 355
            aload 0 /* this */
            aload 11 /* connectedNotif */
            invokevirtual javax.management.remote.rmi.RMIConnector.sendNotification:(Ljavax/management/Notification;)V
        69: .line 357
            iload 2 /* tracing */
            ifeq 83
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "connect"
            new java.lang.StringBuilder
            dup
            aload 3 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " done..."
            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
        end local 11 // javax.management.Notification connectedNotif
        end local 9 // long checkPeriod
        end local 8 // java.lang.Object credentials
        end local 7 // boolean checkStub
        end local 6 // java.lang.String stringBoolean
        end local 5 // javax.management.remote.rmi.RMIServer stub
        end local 4 // java.util.Map usemap
        70: .line 358
            goto 83
      StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String
      StackMap stack: java.io.IOException
        71: astore 4 /* e */
        start local 4 // java.io.IOException e
        72: .line 359
            iload 2 /* tracing */
            ifeq 74
        73: .line 360
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "connect"
            new java.lang.StringBuilder
            dup
            aload 3 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " failed to connect: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* 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
        74: .line 361
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // java.io.IOException e
        75: .line 362
      StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String
      StackMap stack: java.lang.RuntimeException
            astore 4 /* e */
        start local 4 // java.lang.RuntimeException e
        76: .line 363
            iload 2 /* tracing */
            ifeq 78
        77: .line 364
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "connect"
            new java.lang.StringBuilder
            dup
            aload 3 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " failed to connect: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* 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
        78: .line 365
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // java.lang.RuntimeException e
        79: .line 366
      StackMap locals: javax.management.remote.rmi.RMIConnector java.util.Map int java.lang.String
      StackMap stack: javax.naming.NamingException
            astore 4 /* e */
        start local 4 // javax.naming.NamingException e
        80: .line 367
            new java.lang.StringBuilder
            dup
            ldc "Failed to retrieve RMIServer stub: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* msg */
        start local 5 // java.lang.String msg
        81: .line 368
            iload 2 /* tracing */
            ifeq 82
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "connect"
            new java.lang.StringBuilder
            dup
            aload 3 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* msg */
            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
        82: .line 369
      StackMap locals: javax.naming.NamingException java.lang.String
      StackMap stack:
            new java.io.IOException
            dup
            aload 5 /* msg */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.io.IOException
            athrow
        end local 5 // java.lang.String msg
        end local 4 // javax.naming.NamingException e
        83: .line 371
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String idstr
        end local 2 // boolean tracing
        end local 1 // java.util.Map environment
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   84     0            this  Ljavax/management/remote/rmi/RMIConnector;
            0   84     1     environment  Ljava/util/Map<Ljava/lang/String;*>;
            1   84     2         tracing  Z
            4   84     3           idstr  Ljava/lang/String;
           16   70     4          usemap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
           23   70     5            stub  Ljavax/management/remote/rmi/RMIServer;
           24   70     6   stringBoolean  Ljava/lang/String;
           25   70     7       checkStub  Z
           34   70     8     credentials  Ljava/lang/Object;
           37   48     9              re  Ljava/rmi/RemoteException;
           39   47    10             pro  Ljava/lang/String;
           40   47    11            path  Ljava/lang/String;
           45   47    12             mfe  Ljava/net/MalformedURLException;
           57   70     9     checkPeriod  J
           68   70    11  connectedNotif  Ljavax/management/Notification;
           72   75     4               e  Ljava/io/IOException;
           76   79     4               e  Ljava/lang/RuntimeException;
           80   83     4               e  Ljavax/naming/NamingException;
           81   83     5             msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
          34    35      36  Class java.rmi.RemoteException
          10    70      71  Class java.io.IOException
          10    70      75  Class java.lang.RuntimeException
          10    70      79  Class javax.naming.NamingException
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Map<Ljava/lang/String;*>;)V
    MethodParameters:
             Name  Flags
      environment  

  public synchronized java.lang.String getConnectionId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnector this
         0: .line 374
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.terminated:Z
            ifne 1
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connected:Z
            ifne 6
         1: .line 375
      StackMap locals:
      StackMap stack:
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 5
         2: .line 376
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "getConnectionId"
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 377
            ldc "] not connected."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 376
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 379
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Not connected"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
            invokeinterface javax.management.remote.rmi.RMIConnection.getConnectionId:()Ljava/lang/String;
            areturn
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/management/remote/rmi/RMIConnector;
    Exceptions:
      throws java.io.IOException

  public synchronized javax.management.MBeanServerConnection getMBeanServerConnection();
    descriptor: ()Ljavax/management/MBeanServerConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnector this
         0: .line 389
            aload 0 /* this */
            aconst_null
            invokevirtual javax.management.remote.rmi.RMIConnector.getMBeanServerConnection:(Ljavax/security/auth/Subject;)Ljavax/management/MBeanServerConnection;
            areturn
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/remote/rmi/RMIConnector;
    Exceptions:
      throws java.io.IOException

  public synchronized javax.management.MBeanServerConnection getMBeanServerConnection(javax.security.auth.Subject);
    descriptor: (Ljavax/security/auth/Subject;)Ljavax/management/MBeanServerConnection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // javax.security.auth.Subject delegationSubject
         0: .line 396
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.terminated:Z
            ifeq 6
         1: .line 397
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 5
         2: .line 398
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "getMBeanServerConnection"
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 399
            ldc "] already closed."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 398
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 400
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Connection closed"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connected:Z
            ifne 12
         7: .line 402
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 11
         8: .line 403
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "getMBeanServerConnection"
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 404
            ldc "] is not connected."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 403
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 405
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Not connected"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* delegationSubject */
            invokevirtual javax.management.remote.rmi.RMIConnector.getConnectionWithSubject:(Ljavax/security/auth/Subject;)Ljavax/management/MBeanServerConnection;
            areturn
        end local 1 // javax.security.auth.Subject delegationSubject
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Ljavax/management/remote/rmi/RMIConnector;
            0   13     1  delegationSubject  Ljavax/security/auth/Subject;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      delegationSubject  

  public void addConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object);
    descriptor: (Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // javax.management.NotificationListener listener
        start local 2 // javax.management.NotificationFilter filter
        start local 3 // java.lang.Object handback
         0: .line 415
            aload 1 /* listener */
            ifnonnull 2
         1: .line 416
            new java.lang.NullPointerException
            dup
            ldc "listener"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connectionBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
            aload 1 /* listener */
            aload 2 /* filter */
         3: .line 418
            aload 3 /* handback */
         4: .line 417
            invokevirtual javax.management.NotificationBroadcasterSupport.addNotificationListener:(Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
         5: .line 419
            return
        end local 3 // java.lang.Object handback
        end local 2 // javax.management.NotificationFilter filter
        end local 1 // javax.management.NotificationListener listener
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljavax/management/remote/rmi/RMIConnector;
            0    6     1  listener  Ljavax/management/NotificationListener;
            0    6     2    filter  Ljavax/management/NotificationFilter;
            0    6     3  handback  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      listener  
      filter    
      handback  

  public void removeConnectionNotificationListener(javax.management.NotificationListener);
    descriptor: (Ljavax/management/NotificationListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // javax.management.NotificationListener listener
         0: .line 424
            aload 1 /* listener */
            ifnonnull 2
         1: .line 425
            new java.lang.NullPointerException
            dup
            ldc "listener"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connectionBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
            aload 1 /* listener */
            invokevirtual javax.management.NotificationBroadcasterSupport.removeNotificationListener:(Ljavax/management/NotificationListener;)V
         3: .line 427
            return
        end local 1 // javax.management.NotificationListener listener
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljavax/management/remote/rmi/RMIConnector;
            0    4     1  listener  Ljavax/management/NotificationListener;
    Exceptions:
      throws javax.management.ListenerNotFoundException
    MethodParameters:
          Name  Flags
      listener  

  public void removeConnectionNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object);
    descriptor: (Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // javax.management.NotificationListener listener
        start local 2 // javax.management.NotificationFilter filter
        start local 3 // java.lang.Object handback
         0: .line 434
            aload 1 /* listener */
            ifnonnull 2
         1: .line 435
            new java.lang.NullPointerException
            dup
            ldc "listener"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connectionBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
            aload 1 /* listener */
            aload 2 /* filter */
         3: .line 437
            aload 3 /* handback */
         4: .line 436
            invokevirtual javax.management.NotificationBroadcasterSupport.removeNotificationListener:(Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
         5: .line 438
            return
        end local 3 // java.lang.Object handback
        end local 2 // javax.management.NotificationFilter filter
        end local 1 // javax.management.NotificationListener listener
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljavax/management/remote/rmi/RMIConnector;
            0    6     1  listener  Ljavax/management/NotificationListener;
            0    6     2    filter  Ljavax/management/NotificationFilter;
            0    6     3  handback  Ljava/lang/Object;
    Exceptions:
      throws javax.management.ListenerNotFoundException
    MethodParameters:
          Name  Flags
      listener  
      filter    
      handback  

  private void sendNotification(javax.management.Notification);
    descriptor: (Ljavax/management/Notification;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // javax.management.Notification n
         0: .line 441
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connectionBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
            aload 1 /* n */
            invokevirtual javax.management.NotificationBroadcasterSupport.sendNotification:(Ljavax/management/Notification;)V
         1: .line 442
            return
        end local 1 // javax.management.Notification n
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/management/remote/rmi/RMIConnector;
            0    2     1     n  Ljavax/management/Notification;
    MethodParameters:
      Name  Flags
      n     

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnector this
         0: .line 445
            aload 0 /* this */
            iconst_0
            invokevirtual javax.management.remote.rmi.RMIConnector.close:(Z)V
         1: .line 446
            return
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/management/remote/rmi/RMIConnector;
    Exceptions:
      throws java.io.IOException

  private synchronized void close(boolean);
    descriptor: (Z)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=12, locals=7, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // boolean intern
         0: .line 451
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            istore 2 /* tracing */
        start local 2 // boolean tracing
         1: .line 452
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
            istore 3 /* debug */
        start local 3 // boolean debug
         2: .line 453
            iload 2 /* tracing */
            ifeq 3
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnector.toString:()Ljava/lang/String;
            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;
            goto 4
      StackMap locals: int int
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 4 /* idstr */
        start local 4 // java.lang.String idstr
         5: .line 455
            iload 1 /* intern */
            ifne 11
         6: .line 458
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.terminated:Z
            ifeq 10
         7: .line 459
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
            ifnonnull 11
         8: .line 460
            iload 2 /* tracing */
            ifeq 9
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "close"
            new java.lang.StringBuilder
            dup
            aload 4 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " already closed."
            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
         9: .line 461
      StackMap locals: java.lang.String
      StackMap stack:
            return
        10: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javax.management.remote.rmi.RMIConnector.terminated:Z
        11: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
            ifnull 15
            iload 2 /* tracing */
            ifeq 15
        12: .line 471
            iload 2 /* tracing */
            ifeq 15
        13: .line 472
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "close"
            new java.lang.StringBuilder
            dup
            aload 4 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " had failed: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
            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
        14: .line 473
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "close"
            new java.lang.StringBuilder
            dup
            aload 4 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " attempting to close again."
            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
        15: .line 477
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* savedConnectionId */
        start local 5 // java.lang.String savedConnectionId
        16: .line 478
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connected:Z
            ifeq 18
        17: .line 479
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connectionId:Ljava/lang/String;
            astore 5 /* savedConnectionId */
        18: .line 482
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
        19: .line 484
            iload 2 /* tracing */
            ifeq 20
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "close"
            new java.lang.StringBuilder
            dup
            aload 4 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " closing."
            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
        20: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            ifnull 22
        21: .line 487
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.terminate:()V
        22: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmiNotifClient:Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
            ifnull 34
        23: .line 492
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmiNotifClient:Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
            invokevirtual javax.management.remote.rmi.RMIConnector$RMINotifClient.terminate:()V
        24: .line 493
            iload 2 /* tracing */
            ifeq 34
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "close"
            new java.lang.StringBuilder
            dup
            aload 4 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 494
            ldc " RMI Notification client terminated."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 493
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        27: .line 495
            goto 34
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        28: astore 6 /* x */
        start local 6 // java.lang.RuntimeException x
        29: .line 496
            aload 0 /* this */
            aload 6 /* x */
            putfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
        30: .line 497
            iload 2 /* tracing */
            ifeq 33
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "close"
            new java.lang.StringBuilder
            dup
            aload 4 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        31: .line 498
            ldc " Failed to terminate RMI Notification client: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* x */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 497
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        33: .line 499
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            iload 3 /* debug */
            ifeq 34
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "close"
            aload 6 /* x */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.lang.RuntimeException x
        34: .line 503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
            ifnull 45
        35: .line 505
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
            invokeinterface javax.management.remote.rmi.RMIConnection.close:()V
        36: .line 506
            iload 2 /* tracing */
            ifeq 45
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "close"
            new java.lang.StringBuilder
            dup
            aload 4 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " closed."
            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
        37: .line 507
            goto 45
      StackMap locals:
      StackMap stack: java.rmi.NoSuchObjectException
        38: pop
            goto 45
        39: .line 509
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 6 /* e */
        start local 6 // java.io.IOException e
        40: .line 510
            aload 0 /* this */
            aload 6 /* e */
            putfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
        41: .line 511
            iload 2 /* tracing */
            ifeq 44
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "close"
            new java.lang.StringBuilder
            dup
            aload 4 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        42: .line 512
            ldc " Failed to close RMIServer: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 511
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        44: .line 513
      StackMap locals: java.io.IOException
      StackMap stack:
            iload 3 /* debug */
            ifeq 45
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "close"
            aload 6 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.io.IOException e
        45: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmbscMap:Ljava/util/WeakHashMap;
            invokevirtual java.util.WeakHashMap.clear:()V
        46: .line 525
            aload 5 /* savedConnectionId */
            ifnull 56
        47: .line 527
            new javax.management.remote.JMXConnectionNotification
            dup
            ldc "jmx.remote.connection.closed"
        48: .line 528
            aload 0 /* this */
        49: .line 529
            aload 5 /* savedConnectionId */
        50: .line 530
            aload 0 /* this */
            dup
            getfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
            dup2_x1
            lconst_1
            ladd
            putfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
        51: .line 531
            ldc "Client has been closed"
        52: .line 532
            aconst_null
        53: .line 527
            invokespecial javax.management.remote.JMXConnectionNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;)V
        54: .line 526
            astore 6 /* closedNotif */
        start local 6 // javax.management.Notification closedNotif
        55: .line 533
            aload 0 /* this */
            aload 6 /* closedNotif */
            invokevirtual javax.management.remote.rmi.RMIConnector.sendNotification:(Ljavax/management/Notification;)V
        end local 6 // javax.management.Notification closedNotif
        56: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
            ifnull 67
        57: .line 539
            iload 2 /* tracing */
            ifeq 60
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "close"
            new java.lang.StringBuilder
            dup
            aload 4 /* idstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " failed to close: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        58: .line 540
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        59: .line 539
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        60: .line 541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
            instanceof java.io.IOException
            ifeq 62
        61: .line 542
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
            checkcast java.io.IOException
            athrow
        62: .line 543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
            instanceof java.lang.RuntimeException
            ifeq 64
        63: .line 544
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
            checkcast java.lang.RuntimeException
            athrow
        64: .line 546
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to close: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
        65: .line 545
            astore 6 /* x */
        start local 6 // java.io.IOException x
        66: .line 547
            aload 6 /* x */
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.closeException:Ljava/lang/Exception;
            invokestatic com.sun.jmx.remote.util.EnvHelp.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.io.IOException
            athrow
        end local 6 // java.io.IOException x
        67: .line 549
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String savedConnectionId
        end local 4 // java.lang.String idstr
        end local 3 // boolean debug
        end local 2 // boolean tracing
        end local 1 // boolean intern
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   68     0               this  Ljavax/management/remote/rmi/RMIConnector;
            0   68     1             intern  Z
            1   68     2            tracing  Z
            2   68     3              debug  Z
            5   68     4              idstr  Ljava/lang/String;
           16   68     5  savedConnectionId  Ljava/lang/String;
           29   34     6                  x  Ljava/lang/RuntimeException;
           40   45     6                  e  Ljava/io/IOException;
           55   56     6        closedNotif  Ljavax/management/Notification;
           66   67     6                  x  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          23    27      28  Class java.lang.RuntimeException
          35    37      38  Class java.rmi.NoSuchObjectException
          35    37      39  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      intern  

  private java.lang.Integer addListenerWithSubject(javax.management.ObjectName, java.rmi.MarshalledObject<javax.management.NotificationFilter>, javax.security.auth.Subject, boolean);
    descriptor: (Ljavax/management/ObjectName;Ljava/rmi/MarshalledObject;Ljavax/security/auth/Subject;Z)Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // javax.management.ObjectName name
        start local 2 // java.rmi.MarshalledObject filter
        start local 3 // javax.security.auth.Subject delegationSubject
        start local 4 // boolean reconnect
         0: .line 558
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
            istore 5 /* debug */
        start local 5 // boolean debug
         1: .line 559
            iload 5 /* debug */
            ifeq 5
         2: .line 560
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "addListenerWithSubject"
         3: .line 561
            ldc "(ObjectName,MarshalledObject,Subject)"
         4: .line 560
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 563
      StackMap locals: int
      StackMap stack:
            iconst_1
            anewarray javax.management.ObjectName
            dup
            iconst_0
            aload 1 /* name */
            aastore
            astore 6 /* names */
        start local 6 // javax.management.ObjectName[] names
         6: .line 565
            iconst_1
            anewarray java.rmi.MarshalledObject
            dup
            iconst_0
            aload 2 /* filter */
            aastore
            invokestatic com.sun.jmx.mbeanserver.Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.rmi.MarshalledObject[]
         7: .line 564
            astore 7 /* filters */
        start local 7 // java.rmi.MarshalledObject[] filters
         8: .line 566
            iconst_1
            anewarray javax.security.auth.Subject
            dup
            iconst_0
         9: .line 567
            aload 3 /* delegationSubject */
            aastore
        10: .line 566
            astore 8 /* delegationSubjects */
        start local 8 // javax.security.auth.Subject[] delegationSubjects
        11: .line 571
            aload 0 /* this */
            aload 6 /* names */
            aload 7 /* filters */
            aload 8 /* delegationSubjects */
        12: .line 572
            iload 4 /* reconnect */
        13: .line 571
            invokevirtual javax.management.remote.rmi.RMIConnector.addListenersWithSubjects:([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject;[Ljavax/security/auth/Subject;Z)[Ljava/lang/Integer;
        14: .line 570
            astore 9 /* listenerIDs */
        start local 9 // java.lang.Integer[] listenerIDs
        15: .line 574
            iload 5 /* debug */
            ifeq 18
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "addListenerWithSubject"
            new java.lang.StringBuilder
            dup
            ldc "listenerID="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 575
            aload 9 /* listenerIDs */
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 574
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
        18: .line 576
      StackMap locals: javax.management.remote.rmi.RMIConnector javax.management.ObjectName java.rmi.MarshalledObject javax.security.auth.Subject int int javax.management.ObjectName[] java.rmi.MarshalledObject[] javax.security.auth.Subject[] java.lang.Integer[]
      StackMap stack:
            aload 9 /* listenerIDs */
            iconst_0
            aaload
            areturn
        end local 9 // java.lang.Integer[] listenerIDs
        end local 8 // javax.security.auth.Subject[] delegationSubjects
        end local 7 // java.rmi.MarshalledObject[] filters
        end local 6 // javax.management.ObjectName[] names
        end local 5 // boolean debug
        end local 4 // boolean reconnect
        end local 3 // javax.security.auth.Subject delegationSubject
        end local 2 // java.rmi.MarshalledObject filter
        end local 1 // javax.management.ObjectName name
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   19     0                this  Ljavax/management/remote/rmi/RMIConnector;
            0   19     1                name  Ljavax/management/ObjectName;
            0   19     2              filter  Ljava/rmi/MarshalledObject<Ljavax/management/NotificationFilter;>;
            0   19     3   delegationSubject  Ljavax/security/auth/Subject;
            0   19     4           reconnect  Z
            1   19     5               debug  Z
            6   19     6               names  [Ljavax/management/ObjectName;
            8   19     7             filters  [Ljava/rmi/MarshalledObject;
           11   19     8  delegationSubjects  [Ljavax/security/auth/Subject;
           15   19     9         listenerIDs  [Ljava/lang/Integer;
    Exceptions:
      throws javax.management.InstanceNotFoundException, java.io.IOException
    Signature: (Ljavax/management/ObjectName;Ljava/rmi/MarshalledObject<Ljavax/management/NotificationFilter;>;Ljavax/security/auth/Subject;Z)Ljava/lang/Integer;
    MethodParameters:
                   Name  Flags
      name               
      filter             
      delegationSubject  
      reconnect          

  private java.lang.Integer[] addListenersWithSubjects(javax.management.ObjectName[], java.rmi.MarshalledObject<javax.management.NotificationFilter>[], javax.security.auth.Subject[], boolean);
    descriptor: ([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject;[Ljavax/security/auth/Subject;Z)[Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // javax.management.ObjectName[] names
        start local 2 // java.rmi.MarshalledObject[] filters
        start local 3 // javax.security.auth.Subject[] delegationSubjects
        start local 4 // boolean reconnect
         0: .line 586
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
            istore 5 /* debug */
        start local 5 // boolean debug
         1: .line 587
            iload 5 /* debug */
            ifeq 5
         2: .line 588
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "addListenersWithSubjects"
         3: .line 589
            ldc "(ObjectName[],MarshalledObject[],Subject[])"
         4: .line 588
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 591
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnector.pushDefaultClassLoader:()Ljava/lang/ClassLoader;
            astore 6 /* old */
        start local 6 // java.lang.ClassLoader old
         6: .line 592
            aconst_null
            astore 7 /* listenerIDs */
        start local 7 // java.lang.Integer[] listenerIDs
         7: .line 595
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
            aload 1 /* names */
         8: .line 596
            aload 2 /* filters */
         9: .line 597
            aload 3 /* delegationSubjects */
        10: .line 595
            invokeinterface javax.management.remote.rmi.RMIConnection.addNotificationListeners:([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject;[Ljavax/security/auth/Subject;)[Ljava/lang/Integer;
            astore 7 /* listenerIDs */
        11: .line 598
            goto 28
      StackMap locals: javax.management.remote.rmi.RMIConnector javax.management.ObjectName[] java.rmi.MarshalledObject[] javax.security.auth.Subject[] int int java.lang.ClassLoader java.lang.Integer[]
      StackMap stack: java.rmi.NoSuchObjectException
        12: astore 8 /* noe */
        start local 8 // java.rmi.NoSuchObjectException noe
        13: .line 600
            iload 4 /* reconnect */
            ifeq 20
        14: .line 601
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            aload 8 /* noe */
            invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.gotIOException:(Ljava/io/IOException;)V
        15: .line 603
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
            aload 1 /* names */
        16: .line 604
            aload 2 /* filters */
        17: .line 605
            aload 3 /* delegationSubjects */
        18: .line 603
            invokeinterface javax.management.remote.rmi.RMIConnection.addNotificationListeners:([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject;[Ljavax/security/auth/Subject;)[Ljava/lang/Integer;
            astore 7 /* listenerIDs */
        19: .line 606
            goto 21
        20: .line 607
      StackMap locals: java.rmi.NoSuchObjectException
      StackMap stack:
            aload 8 /* noe */
            athrow
        end local 8 // java.rmi.NoSuchObjectException noe
        21: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* old */
            invokevirtual javax.management.remote.rmi.RMIConnector.popDefaultClassLoader:(Ljava/lang/ClassLoader;)V
            goto 29
        22: .line 609
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 8 /* ioe */
        start local 8 // java.io.IOException ioe
        23: .line 611
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.communicatorAdmin:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            aload 8 /* ioe */
            invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.gotIOException:(Ljava/io/IOException;)V
        end local 8 // java.io.IOException ioe
        24: .line 613
            aload 0 /* this */
            aload 6 /* old */
            invokevirtual javax.management.remote.rmi.RMIConnector.popDefaultClassLoader:(Ljava/lang/ClassLoader;)V
            goto 29
        25: .line 612
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        26: .line 613
            aload 0 /* this */
            aload 6 /* old */
            invokevirtual javax.management.remote.rmi.RMIConnector.popDefaultClassLoader:(Ljava/lang/ClassLoader;)V
        27: .line 614
            aload 9
            athrow
        28: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* old */
            invokevirtual javax.management.remote.rmi.RMIConnector.popDefaultClassLoader:(Ljava/lang/ClassLoader;)V
        29: .line 616
      StackMap locals:
      StackMap stack:
            iload 5 /* debug */
            ifeq 35
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "addListenersWithSubjects"
            new java.lang.StringBuilder
            dup
            ldc "registered "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        30: .line 617
            aload 7 /* listenerIDs */
            ifnonnull 31
            iconst_0
            goto 32
      StackMap locals: javax.management.remote.rmi.RMIConnector javax.management.ObjectName[] java.rmi.MarshalledObject[] javax.security.auth.Subject[] int int java.lang.ClassLoader java.lang.Integer[]
      StackMap stack: com.sun.jmx.remote.util.ClassLogger java.lang.String java.lang.StringBuilder
        31: aload 7 /* listenerIDs */
            arraylength
      StackMap locals: javax.management.remote.rmi.RMIConnector javax.management.ObjectName[] java.rmi.MarshalledObject[] javax.security.auth.Subject[] int int java.lang.ClassLoader java.lang.Integer[]
      StackMap stack: com.sun.jmx.remote.util.ClassLogger java.lang.String java.lang.StringBuilder int
        32: invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        33: .line 618
            ldc " listener(s)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 616
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
        35: .line 619
      StackMap locals:
      StackMap stack:
            aload 7 /* listenerIDs */
            areturn
        end local 7 // java.lang.Integer[] listenerIDs
        end local 6 // java.lang.ClassLoader old
        end local 5 // boolean debug
        end local 4 // boolean reconnect
        end local 3 // javax.security.auth.Subject[] delegationSubjects
        end local 2 // java.rmi.MarshalledObject[] filters
        end local 1 // javax.management.ObjectName[] names
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   36     0                this  Ljavax/management/remote/rmi/RMIConnector;
            0   36     1               names  [Ljavax/management/ObjectName;
            0   36     2             filters  [Ljava/rmi/MarshalledObject;
            0   36     3  delegationSubjects  [Ljavax/security/auth/Subject;
            0   36     4           reconnect  Z
            1   36     5               debug  Z
            6   36     6                 old  Ljava/lang/ClassLoader;
            7   36     7         listenerIDs  [Ljava/lang/Integer;
           13   21     8                 noe  Ljava/rmi/NoSuchObjectException;
           23   24     8                 ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           7    11      12  Class java.rmi.NoSuchObjectException
           7    11      22  Class java.io.IOException
           7    21      25  any
          22    24      25  any
    Exceptions:
      throws javax.management.InstanceNotFoundException, java.io.IOException
    Signature: ([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject<Ljavax/management/NotificationFilter;>;[Ljavax/security/auth/Subject;Z)[Ljava/lang/Integer;
    MethodParameters:
                    Name  Flags
      names               
      filters             
      delegationSubjects  
      reconnect           

  static javax.management.remote.rmi.RMIServer connectStub(javax.management.remote.rmi.RMIServer, java.util.Map<java.lang.String, ?>);
    descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.management.remote.rmi.RMIServer rmiServer
        start local 1 // java.util.Map environment
         0: .line 1740
            aload 0 /* rmiServer */
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.isStub:(Ljava/lang/Object;)Z
            ifeq 5
         1: .line 1742
            aload 0 /* rmiServer */
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.getOrb:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1743
            goto 5
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
         3: pop
         4: .line 1745
            aload 0 /* rmiServer */
            aload 1 /* environment */
            invokestatic javax.management.remote.rmi.RMIConnector.resolveOrb:(Ljava/util/Map;)Ljava/lang/Object;
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.connect:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 1748
      StackMap locals:
      StackMap stack:
            aload 0 /* rmiServer */
            areturn
        end local 1 // java.util.Map environment
        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  environment  Ljava/util/Map<Ljava/lang/String;*>;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.UnsupportedOperationException
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map<Ljava/lang/String;*>;)Ljavax/management/remote/rmi/RMIServer;
    MethodParameters:
             Name  Flags
      rmiServer    
      environment  

  static  resolveOrb(java.util.Map<java.lang.String, ?>);
    descriptor: (Ljava/util/Map;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.util.Map environment
         0: .line 1774
            aload 0 /* environment */
            ifnull 5
         1: .line 1775
            aload 0 /* environment */
            ldc "java.naming.corba.orb"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* orb */
        start local 1 // java.lang.Object orb
         2: .line 1776
            aload 1 /* orb */
            ifnull 4
            aload 1 /* orb */
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.isOrb:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 1777
            new java.lang.IllegalArgumentException
            dup
            ldc "java.naming.corba.orb must be an instance of org.omg.CORBA.ORB."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1779
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* orb */
            ifnull 5
            aload 1 /* orb */
            areturn
        end local 1 // java.lang.Object orb
         5: .line 1782
      StackMap locals:
      StackMap stack:
            getstatic javax.management.remote.rmi.RMIConnector.orb:Ljava/lang/ref/WeakReference;
            ifnonnull 6
            aconst_null
            goto 7
      StackMap locals:
      StackMap stack:
         6: getstatic javax.management.remote.rmi.RMIConnector.orb:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
         7: .line 1781
      StackMap locals:
      StackMap stack: java.lang.Object
            astore 1 /* orb */
        start local 1 // java.lang.Object orb
         8: .line 1783
            aload 1 /* orb */
            ifnull 9
            aload 1 /* orb */
            areturn
         9: .line 1786
      StackMap locals: java.lang.Object
      StackMap stack:
            aconst_null
            aconst_null
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.createOrb:([Ljava/lang/String;Ljava/util/Properties;)Ljava/lang/Object;
        10: .line 1785
            astore 2 /* newOrb */
        start local 2 // java.lang.Object newOrb
        11: .line 1787
            new java.lang.ref.WeakReference
            dup
            aload 2 /* newOrb */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putstatic javax.management.remote.rmi.RMIConnector.orb:Ljava/lang/ref/WeakReference;
        12: .line 1788
            aload 2 /* newOrb */
            areturn
        end local 2 // java.lang.Object newOrb
        end local 1 // java.lang.Object orb
        end local 0 // java.util.Map environment
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0  environment  Ljava/util/Map<Ljava/lang/String;*>;
            2    5     1          orb  Ljava/lang/Object;
            8   13     1          orb  Ljava/lang/Object;
           11   13     2       newOrb  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Map<Ljava/lang/String;*>;)Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      environment  

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // java.io.ObjectInputStream s
         0: .line 1804
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 1806
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
            ifnonnull 4
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
            ifnonnull 4
         2: .line 1807
            new java.io.InvalidObjectException
            dup
            ldc "rmiServer and jmxServiceURL both null"
         3: .line 1806
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javax.management.remote.rmi.RMIConnector.initTransients:()V
         5: .line 1810
            return
        end local 1 // java.io.ObjectInputStream s
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavax/management/remote/rmi/RMIConnector;
            0    6     1     s  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      s     

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // java.io.ObjectOutputStream s
         0: .line 1845
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
            ifnonnull 3
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
            ifnonnull 3
         1: .line 1846
            new java.io.InvalidObjectException
            dup
            ldc "rmiServer and jmxServiceURL both null."
         2: .line 1845
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1847
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
            invokestatic javax.management.remote.rmi.RMIConnector.connectStub:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
            pop
         4: .line 1848
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         5: .line 1849
            return
        end local 1 // java.io.ObjectOutputStream s
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavax/management/remote/rmi/RMIConnector;
            0    6     1     s  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private void initTransients();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnector this
         0: .line 1853
            aload 0 /* this */
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
            putfield javax.management.remote.rmi.RMIConnector.rmbscMap:Ljava/util/WeakHashMap;
         1: .line 1854
            aload 0 /* this */
            iconst_0
            putfield javax.management.remote.rmi.RMIConnector.connected:Z
         2: .line 1855
            aload 0 /* this */
            iconst_0
            putfield javax.management.remote.rmi.RMIConnector.terminated:Z
         3: .line 1857
            aload 0 /* this */
            new javax.management.NotificationBroadcasterSupport
            dup
            invokespecial javax.management.NotificationBroadcasterSupport.<init>:()V
            putfield javax.management.remote.rmi.RMIConnector.connectionBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
         4: .line 1858
            return
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/management/remote/rmi/RMIConnector;

  private static void checkStub(java.rmi.Remote, java.lang.Class<?>);
    descriptor: (Ljava/rmi/Remote;Ljava/lang/Class;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.rmi.Remote stub
        start local 1 // java.lang.Class stubClass
         0: .line 1869
            aload 0 /* stub */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* stubClass */
            if_acmpeq 14
         1: .line 1870
            aload 0 /* stub */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifne 5
         2: .line 1871
            new java.lang.SecurityException
            dup
         3: .line 1872
            new java.lang.StringBuilder
            dup
            ldc "Expecting a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stubClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " stub!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 1871
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 1874
      StackMap locals:
      StackMap stack:
            aload 0 /* stub */
            invokestatic java.lang.reflect.Proxy.getInvocationHandler:(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
            astore 2 /* handler */
        start local 2 // java.lang.reflect.InvocationHandler handler
         6: .line 1875
            aload 2 /* handler */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljava/rmi/server/RemoteObjectInvocationHandler;
            if_acmpeq 13
         7: .line 1876
            new java.lang.SecurityException
            dup
         8: .line 1877
            new java.lang.StringBuilder
            dup
            ldc "Expecting a dynamic proxy instance with a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 1878
            ldc Ljava/rmi/server/RemoteObjectInvocationHandler;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1879
            ldc " invocation handler!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 1877
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 1876
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1881
      StackMap locals: java.lang.reflect.InvocationHandler
      StackMap stack:
            aload 2 /* handler */
            checkcast java.rmi.Remote
            astore 0 /* stub */
        end local 2 // java.lang.reflect.InvocationHandler handler
        14: .line 1888
      StackMap locals:
      StackMap stack:
            aload 0 /* stub */
            checkcast java.rmi.server.RemoteObject
            invokevirtual java.rmi.server.RemoteObject.getRef:()Ljava/rmi/server/RemoteRef;
            astore 2 /* ref */
        start local 2 // java.rmi.server.RemoteRef ref
        15: .line 1889
            aload 2 /* ref */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lsun/rmi/server/UnicastRef2;
            if_acmpeq 21
        16: .line 1890
            new java.lang.SecurityException
            dup
        17: .line 1891
            new java.lang.StringBuilder
            dup
            ldc "Expecting a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lsun/rmi/server/UnicastRef2;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 1892
            ldc " remote reference in stub!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 1891
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 1890
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 1897
      StackMap locals: java.rmi.server.RemoteRef
      StackMap stack:
            aload 2 /* ref */
            checkcast sun.rmi.server.UnicastRef2
            invokevirtual sun.rmi.server.UnicastRef2.getLiveRef:()Lsun/rmi/transport/LiveRef;
            astore 3 /* liveRef */
        start local 3 // sun.rmi.transport.LiveRef liveRef
        22: .line 1898
            aload 3 /* liveRef */
            invokevirtual sun.rmi.transport.LiveRef.getClientSocketFactory:()Ljava/rmi/server/RMIClientSocketFactory;
            astore 4 /* csf */
        start local 4 // java.rmi.server.RMIClientSocketFactory csf
        23: .line 1899
            aload 4 /* csf */
            ifnull 24
            aload 4 /* csf */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljavax/rmi/ssl/SslRMIClientSocketFactory;
            if_acmpeq 29
        24: .line 1900
      StackMap locals: sun.rmi.transport.LiveRef java.rmi.server.RMIClientSocketFactory
      StackMap stack:
            new java.lang.SecurityException
            dup
        25: .line 1901
            new java.lang.StringBuilder
            dup
            ldc "Expecting a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Ljavax/rmi/ssl/SslRMIClientSocketFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 1902
            ldc " RMI client socket factory in stub!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 1901
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 1900
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 1903
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.rmi.server.RMIClientSocketFactory csf
        end local 3 // sun.rmi.transport.LiveRef liveRef
        end local 2 // java.rmi.server.RemoteRef ref
        end local 1 // java.lang.Class stubClass
        end local 0 // java.rmi.Remote stub
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   30     0       stub  Ljava/rmi/Remote;
            0   30     1  stubClass  Ljava/lang/Class<*>;
            6   14     2    handler  Ljava/lang/reflect/InvocationHandler;
           15   30     2        ref  Ljava/rmi/server/RemoteRef;
           22   30     3    liveRef  Lsun/rmi/transport/LiveRef;
           23   30     4        csf  Ljava/rmi/server/RMIClientSocketFactory;
    Signature: (Ljava/rmi/Remote;Ljava/lang/Class<*>;)V
    MethodParameters:
           Name  Flags
      stub       
      stubClass  

  private javax.management.remote.rmi.RMIServer findRMIServer(javax.management.remote.JMXServiceURL, java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // javax.management.remote.JMXServiceURL directoryURL
        start local 2 // java.util.Map environment
         0: .line 1912
            aload 1 /* directoryURL */
            iconst_1
            invokestatic javax.management.remote.rmi.RMIConnectorServer.isIiopURL:(Ljavax/management/remote/JMXServiceURL;Z)Z
            istore 3 /* isIiop */
        start local 3 // boolean isIiop
         1: .line 1913
            iload 3 /* isIiop */
            ifeq 3
         2: .line 1915
            aload 2 /* environment */
            ldc "java.naming.corba.orb"
            aload 2 /* environment */
            invokestatic javax.management.remote.rmi.RMIConnector.resolveOrb:(Ljava/util/Map;)Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1918
      StackMap locals: int
      StackMap stack:
            aload 1 /* directoryURL */
            invokevirtual javax.management.remote.JMXServiceURL.getURLPath:()Ljava/lang/String;
            astore 4 /* path */
        start local 4 // java.lang.String path
         4: .line 1919
            aload 4 /* path */
            bipush 59
            invokevirtual java.lang.String.indexOf:(I)I
            istore 5 /* end */
        start local 5 // int end
         5: .line 1920
            iload 5 /* end */
            ifge 6
            aload 4 /* path */
            invokevirtual java.lang.String.length:()I
            istore 5 /* end */
         6: .line 1921
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 4 /* path */
            ldc "/jndi/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 1922
            aload 0 /* this */
            aload 4 /* path */
            bipush 6
            iload 5 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 2 /* environment */
            iload 3 /* isIiop */
            invokevirtual javax.management.remote.rmi.RMIConnector.findRMIServerJNDI:(Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
            areturn
         8: .line 1923
      StackMap locals:
      StackMap stack:
            aload 4 /* path */
            ldc "/stub/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 1924
            aload 0 /* this */
            aload 4 /* path */
            bipush 6
            iload 5 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 2 /* environment */
            iload 3 /* isIiop */
            invokevirtual javax.management.remote.rmi.RMIConnector.findRMIServerJRMP:(Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
            areturn
        10: .line 1925
      StackMap locals:
      StackMap stack:
            aload 4 /* path */
            ldc "/ior/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        11: .line 1926
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.isAvailable:()Z
            ifne 13
        12: .line 1927
            new java.io.IOException
            dup
            ldc "iiop protocol not available"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1928
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* path */
            iconst_5
            iload 5 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 2 /* environment */
            iload 3 /* isIiop */
            invokevirtual javax.management.remote.rmi.RMIConnector.findRMIServerIIOP:(Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
            areturn
        14: .line 1930
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "URL path must begin with /jndi/ or /stub/ or /ior/: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 1931
            aload 4 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 1930
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
        17: .line 1932
            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
        end local 5 // int end
        end local 4 // java.lang.String path
        end local 3 // boolean isIiop
        end local 2 // java.util.Map environment
        end local 1 // javax.management.remote.JMXServiceURL directoryURL
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Ljavax/management/remote/rmi/RMIConnector;
            0   18     1  directoryURL  Ljavax/management/remote/JMXServiceURL;
            0   18     2   environment  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            1   18     3        isIiop  Z
            4   18     4          path  Ljava/lang/String;
            5   18     5           end  I
           17   18     6           msg  Ljava/lang/String;
    Exceptions:
      throws javax.naming.NamingException, java.io.IOException
    Signature: (Ljavax/management/remote/JMXServiceURL;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Ljavax/management/remote/rmi/RMIServer;
    MethodParameters:
              Name  Flags
      directoryURL  
      environment   

  private javax.management.remote.rmi.RMIServer findRMIServerJNDI(java.lang.String, java.util.Map<java.lang.String, ?>, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // java.lang.String jndiURL
        start local 2 // java.util.Map env
        start local 3 // boolean isIiop
         0: .line 1953
            new javax.naming.InitialContext
            dup
            aload 2 /* env */
            invokestatic com.sun.jmx.remote.util.EnvHelp.mapToHashtable:(Ljava/util/Map;)Ljava/util/Hashtable;
            invokespecial javax.naming.InitialContext.<init>:(Ljava/util/Hashtable;)V
            astore 4 /* ctx */
        start local 4 // javax.naming.InitialContext ctx
         1: .line 1955
            aload 4 /* ctx */
            aload 1 /* jndiURL */
            invokevirtual javax.naming.InitialContext.lookup:(Ljava/lang/String;)Ljava/lang/Object;
            astore 5 /* objref */
        start local 5 // java.lang.Object objref
         2: .line 1956
            aload 4 /* ctx */
            invokevirtual javax.naming.InitialContext.close:()V
         3: .line 1958
            iload 3 /* isIiop */
            ifeq 5
         4: .line 1959
            aload 5 /* objref */
            invokestatic javax.management.remote.rmi.RMIConnector.narrowIIOPServer:(Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIServer;
            areturn
         5: .line 1961
      StackMap locals: javax.naming.InitialContext java.lang.Object
      StackMap stack:
            aload 5 /* objref */
            invokestatic javax.management.remote.rmi.RMIConnector.narrowJRMPServer:(Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIServer;
            areturn
        end local 5 // java.lang.Object objref
        end local 4 // javax.naming.InitialContext ctx
        end local 3 // boolean isIiop
        end local 2 // java.util.Map env
        end local 1 // java.lang.String jndiURL
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Ljavax/management/remote/rmi/RMIConnector;
            0    6     1  jndiURL  Ljava/lang/String;
            0    6     2      env  Ljava/util/Map<Ljava/lang/String;*>;
            0    6     3   isIiop  Z
            1    6     4      ctx  Ljavax/naming/InitialContext;
            2    6     5   objref  Ljava/lang/Object;
    Exceptions:
      throws javax.naming.NamingException
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Z)Ljavax/management/remote/rmi/RMIServer;
    MethodParameters:
         Name  Flags
      jndiURL  
      env      
      isIiop   

  private static javax.management.remote.rmi.RMIServer narrowJRMPServer(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIServer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object objref
         0: .line 1966
            aload 0 /* objref */
            checkcast javax.management.remote.rmi.RMIServer
            areturn
        end local 0 // java.lang.Object objref
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  objref  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      objref  

  private static javax.management.remote.rmi.RMIServer narrowIIOPServer(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIServer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Object objref
         0: .line 1971
            aload 0 /* objref */
            ldc Ljavax/management/remote/rmi/RMIServer;
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.narrow:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.management.remote.rmi.RMIServer
         1: areturn
         2: .line 1972
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
            astore 1 /* e */
        start local 1 // java.lang.ClassCastException e
         3: .line 1973
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 7
         4: .line 1974
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "narrowIIOPServer"
            new java.lang.StringBuilder
            dup
            ldc "Failed to narrow objref="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 1975
            aload 0 /* objref */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 1974
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 1976
      StackMap locals: java.lang.ClassCastException
      StackMap stack:
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
            ifeq 8
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "narrowIIOPServer"
            aload 1 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
         8: .line 1977
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.ClassCastException e
        end local 0 // java.lang.Object objref
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  objref  Ljava/lang/Object;
            3    9     1       e  Ljava/lang/ClassCastException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassCastException
    MethodParameters:
        Name  Flags
      objref  

  private javax.management.remote.rmi.RMIServer findRMIServerIIOP(java.lang.String, java.util.Map<java.lang.String, ?>, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // java.lang.String ior
        start local 2 // java.util.Map env
        start local 3 // boolean isIiop
         0: .line 1983
            aload 2 /* env */
            ldc "java.naming.corba.orb"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* orb */
        start local 4 // java.lang.Object orb
         1: .line 1984
            aload 4 /* orb */
            aload 1 /* ior */
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.stringToObject:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 5 /* stub */
        start local 5 // java.lang.Object stub
         2: .line 1985
            aload 5 /* stub */
            ldc Ljavax/management/remote/rmi/RMIServer;
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.narrow:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.management.remote.rmi.RMIServer
            areturn
        end local 5 // java.lang.Object stub
        end local 4 // java.lang.Object orb
        end local 3 // boolean isIiop
        end local 2 // java.util.Map env
        end local 1 // java.lang.String ior
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljavax/management/remote/rmi/RMIConnector;
            0    3     1     ior  Ljava/lang/String;
            0    3     2     env  Ljava/util/Map<Ljava/lang/String;*>;
            0    3     3  isIiop  Z
            1    3     4     orb  Ljava/lang/Object;
            2    3     5    stub  Ljava/lang/Object;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Z)Ljavax/management/remote/rmi/RMIServer;
    MethodParameters:
        Name  Flags
      ior     
      env     
      isIiop  

  private javax.management.remote.rmi.RMIServer findRMIServerJRMP(java.lang.String, java.util.Map<java.lang.String, ?>, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Z)Ljavax/management/remote/rmi/RMIServer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // java.lang.String base64
        start local 2 // java.util.Map env
        start local 3 // boolean isIiop
         0: .line 1993
            aload 1 /* base64 */
            invokestatic javax.management.remote.rmi.RMIConnector.base64ToByteArray:(Ljava/lang/String;)[B
            astore 4 /* serialized */
        start local 4 // byte[] serialized
         1: .line 1994
            goto 6
        end local 4 // byte[] serialized
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         2: astore 5 /* e */
        start local 5 // java.lang.IllegalArgumentException e
         3: .line 1995
            new java.net.MalformedURLException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad BASE64 encoding: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 1996
            aload 5 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 1995
            invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.IllegalArgumentException e
        start local 4 // byte[] serialized
         6: .line 1998
      StackMap locals: byte[]
      StackMap stack:
            new java.io.ByteArrayInputStream
            dup
            aload 4 /* serialized */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 5 /* bin */
        start local 5 // java.io.ByteArrayInputStream bin
         7: .line 2000
            aload 2 /* env */
            invokestatic com.sun.jmx.remote.util.EnvHelp.resolveClientClassLoader:(Ljava/util/Map;)Ljava/lang/ClassLoader;
            astore 6 /* loader */
        start local 6 // java.lang.ClassLoader loader
         8: .line 2002
            aload 6 /* loader */
            ifnonnull 10
         9: .line 2003
            new java.io.ObjectInputStream
            dup
            aload 5 /* bin */
            invokespecial java.io.ObjectInputStream.<init>:(Ljava/io/InputStream;)V
            goto 11
        10: .line 2004
      StackMap locals: java.io.ByteArrayInputStream java.lang.ClassLoader
      StackMap stack:
            new javax.management.remote.rmi.RMIConnector$ObjectInputStreamWithLoader
            dup
            aload 5 /* bin */
            aload 6 /* loader */
            invokespecial javax.management.remote.rmi.RMIConnector$ObjectInputStreamWithLoader.<init>:(Ljava/io/InputStream;Ljava/lang/ClassLoader;)V
        11: .line 2001
      StackMap locals:
      StackMap stack: java.io.ObjectInputStream
            astore 7 /* oin */
        start local 7 // java.io.ObjectInputStream oin
        12: .line 2007
            aload 7 /* oin */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            astore 8 /* stub */
        start local 8 // java.lang.Object stub
        13: .line 2008
            goto 16
        end local 8 // java.lang.Object stub
      StackMap locals: javax.management.remote.rmi.RMIConnector java.lang.String java.util.Map int byte[] java.io.ByteArrayInputStream java.lang.ClassLoader java.io.ObjectInputStream
      StackMap stack: java.lang.ClassNotFoundException
        14: astore 9 /* e */
        start local 9 // java.lang.ClassNotFoundException e
        15: .line 2009
            new java.net.MalformedURLException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Class not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.ClassNotFoundException e
        start local 8 // java.lang.Object stub
        16: .line 2011
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 8 /* stub */
            checkcast javax.management.remote.rmi.RMIServer
            areturn
        end local 8 // java.lang.Object stub
        end local 7 // java.io.ObjectInputStream oin
        end local 6 // java.lang.ClassLoader loader
        end local 5 // java.io.ByteArrayInputStream bin
        end local 4 // byte[] serialized
        end local 3 // boolean isIiop
        end local 2 // java.util.Map env
        end local 1 // java.lang.String base64
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Ljavax/management/remote/rmi/RMIConnector;
            0   17     1      base64  Ljava/lang/String;
            0   17     2         env  Ljava/util/Map<Ljava/lang/String;*>;
            0   17     3      isIiop  Z
            1    2     4  serialized  [B
            6   17     4  serialized  [B
            3    6     5           e  Ljava/lang/IllegalArgumentException;
            7   17     5         bin  Ljava/io/ByteArrayInputStream;
            8   17     6      loader  Ljava/lang/ClassLoader;
           12   17     7         oin  Ljava/io/ObjectInputStream;
           13   14     8        stub  Ljava/lang/Object;
           16   17     8        stub  Ljava/lang/Object;
           15   16     9           e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
          12    13      14  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Z)Ljavax/management/remote/rmi/RMIServer;
    MethodParameters:
        Name  Flags
      base64  
      env     
      isIiop  

  private javax.management.MBeanServerConnection getConnectionWithSubject(javax.security.auth.Subject);
    descriptor: (Ljavax/security/auth/Subject;)Ljavax/management/MBeanServerConnection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // javax.security.auth.Subject delegationSubject
         0: .line 2034
            aconst_null
            astore 2 /* conn */
        start local 2 // javax.management.MBeanServerConnection conn
         1: .line 2036
            aload 1 /* delegationSubject */
            ifnonnull 7
         2: .line 2037
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.nullSubjectConnRef:Ljava/lang/ref/WeakReference;
            ifnull 4
         3: .line 2038
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.nullSubjectConnRef:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast javax.management.MBeanServerConnection
            dup
            astore 2 /* conn */
            ifnonnull 11
         4: .line 2039
      StackMap locals: javax.management.MBeanServerConnection
      StackMap stack:
            new javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection
            dup
            aload 0 /* this */
            aconst_null
            invokespecial javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.<init>:(Ljavax/management/remote/rmi/RMIConnector;Ljavax/security/auth/Subject;)V
            astore 2 /* conn */
         5: .line 2040
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 2 /* conn */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield javax.management.remote.rmi.RMIConnector.nullSubjectConnRef:Ljava/lang/ref/WeakReference;
         6: .line 2042
            goto 11
         7: .line 2043
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmbscMap:Ljava/util/WeakHashMap;
            aload 1 /* delegationSubject */
            invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.WeakReference
            astore 3 /* wr */
        start local 3 // java.lang.ref.WeakReference wr
         8: .line 2044
            aload 3 /* wr */
            ifnull 9
            aload 3 /* wr */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast javax.management.MBeanServerConnection
            dup
            astore 2 /* conn */
            ifnonnull 11
         9: .line 2045
      StackMap locals: java.lang.ref.WeakReference
      StackMap stack:
            new javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection
            dup
            aload 0 /* this */
            aload 1 /* delegationSubject */
            invokespecial javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.<init>:(Ljavax/management/remote/rmi/RMIConnector;Ljavax/security/auth/Subject;)V
            astore 2 /* conn */
        10: .line 2046
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.rmbscMap:Ljava/util/WeakHashMap;
            aload 1 /* delegationSubject */
            new java.lang.ref.WeakReference
            dup
            aload 2 /* conn */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.ref.WeakReference wr
        11: .line 2049
      StackMap locals:
      StackMap stack:
            aload 2 /* conn */
            areturn
        end local 2 // javax.management.MBeanServerConnection conn
        end local 1 // javax.security.auth.Subject delegationSubject
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Ljavax/management/remote/rmi/RMIConnector;
            0   12     1  delegationSubject  Ljavax/security/auth/Subject;
            1   12     2               conn  Ljavax/management/MBeanServerConnection;
            8   11     3                 wr  Ljava/lang/ref/WeakReference<Ljavax/management/MBeanServerConnection;>;
    MethodParameters:
                   Name  Flags
      delegationSubject  

  private static javax.management.remote.rmi.RMIConnection shadowJrmpStub(java.rmi.server.RemoteObject);
    descriptor: (Ljava/rmi/server/RemoteObject;)Ljavax/management/remote/rmi/RMIConnection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.rmi.server.RemoteObject stub
         0: .line 2193
            aload 0 /* stub */
            invokevirtual java.rmi.server.RemoteObject.getRef:()Ljava/rmi/server/RemoteRef;
            astore 1 /* ref */
        start local 1 // java.rmi.server.RemoteRef ref
         1: .line 2195
            getstatic javax.management.remote.rmi.RMIConnector.proxyRefConstructor:Ljava/lang/reflect/Constructor;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ref */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.rmi.server.RemoteRef
         2: .line 2194
            astore 2 /* proxyRef */
        start local 2 // java.rmi.server.RemoteRef proxyRef
         3: .line 2197
            getstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClass:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/rmi/server/RemoteRef;
            aastore
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
         4: .line 2196
            astore 3 /* rmiConnectionImplStubConstructor */
        start local 3 // java.lang.reflect.Constructor rmiConnectionImplStubConstructor
         5: .line 2198
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* proxyRef */
            aastore
            astore 4 /* args */
        start local 4 // java.lang.Object[] args
         6: .line 2200
            aload 3 /* rmiConnectionImplStubConstructor */
            aload 4 /* args */
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.management.remote.rmi.RMIConnection
         7: .line 2199
            astore 5 /* proxyStub */
        start local 5 // javax.management.remote.rmi.RMIConnection proxyStub
         8: .line 2201
            aload 5 /* proxyStub */
            areturn
        end local 5 // javax.management.remote.rmi.RMIConnection proxyStub
        end local 4 // java.lang.Object[] args
        end local 3 // java.lang.reflect.Constructor rmiConnectionImplStubConstructor
        end local 2 // java.rmi.server.RemoteRef proxyRef
        end local 1 // java.rmi.server.RemoteRef ref
        end local 0 // java.rmi.server.RemoteObject stub
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0    9     0                              stub  Ljava/rmi/server/RemoteObject;
            1    9     1                               ref  Ljava/rmi/server/RemoteRef;
            3    9     2                          proxyRef  Ljava/rmi/server/RemoteRef;
            5    9     3  rmiConnectionImplStubConstructor  Ljava/lang/reflect/Constructor<*>;
            6    9     4                              args  [Ljava/lang/Object;
            8    9     5                         proxyStub  Ljavax/management/remote/rmi/RMIConnection;
    Exceptions:
      throws java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.ClassNotFoundException, java.lang.NoSuchMethodException
    MethodParameters:
      Name  Flags
      stub  

  private static javax.management.remote.rmi.RMIConnection shadowIiopStub(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIConnection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object stub
         0: .line 2413
            aconst_null
            astore 1 /* proxyStub */
        start local 1 // java.lang.Object proxyStub
         1: .line 2415
            new javax.management.remote.rmi.RMIConnector$3
            dup
            invokespecial javax.management.remote.rmi.RMIConnector$3.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            astore 1 /* proxyStub */
         2: .line 2420
            goto 5
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack: java.security.PrivilegedActionException
         3: pop
         4: .line 2421
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         5: .line 2423
      StackMap locals:
      StackMap stack:
            aload 1 /* proxyStub */
            aload 0 /* stub */
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.getDelegate:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.sun.jmx.remote.internal.IIOPHelper.setDelegate:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 2424
            aload 1 /* proxyStub */
            checkcast javax.management.remote.rmi.RMIConnection
            areturn
        end local 1 // java.lang.Object proxyStub
        end local 0 // java.lang.Object stub
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       stub  Ljava/lang/Object;
            1    7     1  proxyStub  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     2       3  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.lang.InstantiationException, java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      stub  

  private static javax.management.remote.rmi.RMIConnection getConnection(javax.management.remote.rmi.RMIServer, java.lang.Object, boolean);
    descriptor: (Ljavax/management/remote/rmi/RMIServer;Ljava/lang/Object;Z)Ljavax/management/remote/rmi/RMIConnection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // javax.management.remote.rmi.RMIServer server
        start local 1 // java.lang.Object credentials
        start local 2 // boolean checkStub
         0: .line 2430
            aload 0 /* server */
            aload 1 /* credentials */
            invokeinterface javax.management.remote.rmi.RMIServer.newClient:(Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIConnection;
            astore 3 /* c */
        start local 3 // javax.management.remote.rmi.RMIConnection c
         1: .line 2431
            iload 2 /* checkStub */
            ifeq 2
            aload 3 /* c */
            getstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClass:Ljava/lang/Class;
            invokestatic javax.management.remote.rmi.RMIConnector.checkStub:(Ljava/rmi/Remote;Ljava/lang/Class;)V
         2: .line 2433
      StackMap locals: javax.management.remote.rmi.RMIConnection
      StackMap stack:
            aload 3 /* c */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            getstatic javax.management.remote.rmi.RMIConnector.rmiConnectionImplStubClass:Ljava/lang/Class;
            if_acmpne 5
         3: .line 2434
            aload 3 /* c */
            checkcast java.rmi.server.RemoteObject
            invokestatic javax.management.remote.rmi.RMIConnector.shadowJrmpStub:(Ljava/rmi/server/RemoteObject;)Ljavax/management/remote/rmi/RMIConnection;
         4: areturn
         5: .line 2435
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 2436
            aload 3 /* c */
            invokestatic javax.management.remote.rmi.RMIConnector.shadowIiopStub:(Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIConnection;
         7: areturn
         8: .line 2437
      StackMap locals:
      StackMap stack:
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "getConnection"
         9: .line 2438
            new java.lang.StringBuilder
            dup
            ldc "Did not wrap "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* c */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to foil "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 2439
            ldc "stack search for classes: class loading semantics "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 2440
            ldc "may be incorrect"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 2438
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 2437
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 2441
            goto 23
      StackMap locals:
      StackMap stack: java.lang.Exception
        15: astore 4 /* e */
        start local 4 // java.lang.Exception e
        16: .line 2442
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "getConnection"
        17: .line 2443
            new java.lang.StringBuilder
            dup
            ldc "Could not wrap "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* c */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to foil "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 2444
            ldc "stack search for classes: class loading semantics "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 2445
            ldc "may be incorrect: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        20: .line 2443
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 2442
            invokevirtual com.sun.jmx.remote.util.ClassLogger.error:(Ljava/lang/String;Ljava/lang/String;)V
        22: .line 2446
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "getConnection"
            aload 4 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Exception e
        23: .line 2450
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            areturn
        end local 3 // javax.management.remote.rmi.RMIConnection c
        end local 2 // boolean checkStub
        end local 1 // java.lang.Object credentials
        end local 0 // javax.management.remote.rmi.RMIServer server
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0       server  Ljavax/management/remote/rmi/RMIServer;
            0   24     1  credentials  Ljava/lang/Object;
            0   24     2    checkStub  Z
            1   24     3            c  Ljavax/management/remote/rmi/RMIConnection;
           16   23     4            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     4      15  Class java.lang.Exception
           5     7      15  Class java.lang.Exception
           8    14      15  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      server       
      credentials  
      checkStub    

  private static byte[] base64ToByteArray(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // java.lang.String s
         0: .line 2454
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 1 /* sLen */
        start local 1 // int sLen
         1: .line 2455
            iload 1 /* sLen */
            iconst_4
            idiv
            istore 2 /* numGroups */
        start local 2 // int numGroups
         2: .line 2456
            iconst_4
            iload 2 /* numGroups */
            imul
            iload 1 /* sLen */
            if_icmpeq 6
         3: .line 2457
            new java.lang.IllegalArgumentException
            dup
         4: .line 2458
            ldc "String length must be a multiple of four."
         5: .line 2457
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2459
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 3 /* missingBytesInLastGroup */
        start local 3 // int missingBytesInLastGroup
         7: .line 2460
            iload 2 /* numGroups */
            istore 4 /* numFullGroups */
        start local 4 // int numFullGroups
         8: .line 2461
            iload 1 /* sLen */
            ifeq 14
         9: .line 2462
            aload 0 /* s */
            iload 1 /* sLen */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 61
            if_icmpne 12
        10: .line 2463
            iinc 3 /* missingBytesInLastGroup */ 1
        11: .line 2464
            iinc 4 /* numFullGroups */ -1
        12: .line 2466
      StackMap locals: int int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* sLen */
            iconst_2
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 61
            if_icmpne 14
        13: .line 2467
            iinc 3 /* missingBytesInLastGroup */ 1
        14: .line 2469
      StackMap locals:
      StackMap stack:
            iconst_3
            iload 2 /* numGroups */
            imul
            iload 3 /* missingBytesInLastGroup */
            isub
            newarray 8
            astore 5 /* result */
        start local 5 // byte[] result
        15: .line 2472
            iconst_0
            istore 6 /* inCursor */
        start local 6 // int inCursor
        16: iconst_0
            istore 7 /* outCursor */
        start local 7 // int outCursor
        17: .line 2473
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        18: goto 27
        19: .line 2474
      StackMap locals: java.lang.String int int int int byte[] int int int
      StackMap stack:
            aload 0 /* s */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
            istore 9 /* ch0 */
        start local 9 // int ch0
        20: .line 2475
            aload 0 /* s */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
            istore 10 /* ch1 */
        start local 10 // int ch1
        21: .line 2476
            aload 0 /* s */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
            istore 11 /* ch2 */
        start local 11 // int ch2
        22: .line 2477
            aload 0 /* s */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
            istore 12 /* ch3 */
        start local 12 // int ch3
        23: .line 2478
            aload 5 /* result */
            iload 7 /* outCursor */
            iinc 7 /* outCursor */ 1
            iload 9 /* ch0 */
            iconst_2
            ishl
            iload 10 /* ch1 */
            iconst_4
            ishr
            ior
            i2b
            bastore
        24: .line 2479
            aload 5 /* result */
            iload 7 /* outCursor */
            iinc 7 /* outCursor */ 1
            iload 10 /* ch1 */
            iconst_4
            ishl
            iload 11 /* ch2 */
            iconst_2
            ishr
            ior
            i2b
            bastore
        25: .line 2480
            aload 5 /* result */
            iload 7 /* outCursor */
            iinc 7 /* outCursor */ 1
            iload 11 /* ch2 */
            bipush 6
            ishl
            iload 12 /* ch3 */
            ior
            i2b
            bastore
        end local 12 // int ch3
        end local 11 // int ch2
        end local 10 // int ch1
        end local 9 // int ch0
        26: .line 2473
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 8 /* i */
            iload 4 /* numFullGroups */
            if_icmplt 19
        end local 8 // int i
        28: .line 2484
            iload 3 /* missingBytesInLastGroup */
            ifeq 35
        29: .line 2485
            aload 0 /* s */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
            istore 8 /* ch0 */
        start local 8 // int ch0
        30: .line 2486
            aload 0 /* s */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
            istore 9 /* ch1 */
        start local 9 // int ch1
        31: .line 2487
            aload 5 /* result */
            iload 7 /* outCursor */
            iinc 7 /* outCursor */ 1
            iload 8 /* ch0 */
            iconst_2
            ishl
            iload 9 /* ch1 */
            iconst_4
            ishr
            ior
            i2b
            bastore
        32: .line 2489
            iload 3 /* missingBytesInLastGroup */
            iconst_1
            if_icmpne 35
        33: .line 2490
            aload 0 /* s */
            iload 6 /* inCursor */
            iinc 6 /* inCursor */ 1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic javax.management.remote.rmi.RMIConnector.base64toInt:(C)I
            istore 10 /* ch2 */
        start local 10 // int ch2
        34: .line 2491
            aload 5 /* result */
            iload 7 /* outCursor */
            iinc 7 /* outCursor */ 1
            iload 9 /* ch1 */
            iconst_4
            ishl
            iload 10 /* ch2 */
            iconst_2
            ishr
            ior
            i2b
            bastore
        end local 10 // int ch2
        end local 9 // int ch1
        end local 8 // int ch0
        35: .line 2496
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 7 // int outCursor
        end local 6 // int inCursor
        end local 5 // byte[] result
        end local 4 // int numFullGroups
        end local 3 // int missingBytesInLastGroup
        end local 2 // int numGroups
        end local 1 // int sLen
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   36     0                        s  Ljava/lang/String;
            1   36     1                     sLen  I
            2   36     2                numGroups  I
            7   36     3  missingBytesInLastGroup  I
            8   36     4            numFullGroups  I
           15   36     5                   result  [B
           16   36     6                 inCursor  I
           17   36     7                outCursor  I
           18   28     8                        i  I
           20   26     9                      ch0  I
           21   26    10                      ch1  I
           22   26    11                      ch2  I
           23   26    12                      ch3  I
           30   35     8                      ch0  I
           31   35     9                      ch1  I
           34   35    10                      ch2  I
    MethodParameters:
      Name  Flags
      s     

  private static int base64toInt(char);
    descriptor: (C)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // char c
         0: .line 2509
            iload 0 /* c */
            getstatic javax.management.remote.rmi.RMIConnector.base64ToInt:[B
            arraylength
            if_icmplt 3
         1: .line 2510
            iconst_m1
            istore 1 /* result */
        start local 1 // int result
         2: goto 4
        end local 1 // int result
         3: .line 2512
      StackMap locals:
      StackMap stack:
            getstatic javax.management.remote.rmi.RMIConnector.base64ToInt:[B
            iload 0 /* c */
            baload
            istore 1 /* result */
        start local 1 // int result
         4: .line 2514
      StackMap locals: int
      StackMap stack:
            iload 1 /* result */
            ifge 6
         5: .line 2515
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal character "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2516
      StackMap locals:
      StackMap stack:
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0       c  C
            2    3     1  result  I
            4    7     1  result  I
    MethodParameters:
      Name  Flags
      c     

  private java.lang.ClassLoader pushDefaultClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnector this
         0: .line 2540
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            astore 1 /* t */
        start local 1 // java.lang.Thread t
         1: .line 2541
            aload 1 /* t */
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* old */
        start local 2 // java.lang.ClassLoader old
         2: .line 2542
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector.defaultClassLoader:Ljava/lang/ClassLoader;
            ifnull 4
         3: .line 2543
            new javax.management.remote.rmi.RMIConnector$4
            dup
            aload 0 /* this */
            aload 1 /* t */
            invokespecial javax.management.remote.rmi.RMIConnector$4.<init>:(Ljavax/management/remote/rmi/RMIConnector;Ljava/lang/Thread;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         4: .line 2549
      StackMap locals: java.lang.Thread java.lang.ClassLoader
      StackMap stack:
            aload 2 /* old */
            areturn
        end local 2 // java.lang.ClassLoader old
        end local 1 // java.lang.Thread t
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/management/remote/rmi/RMIConnector;
            1    5     1     t  Ljava/lang/Thread;
            2    5     2   old  Ljava/lang/ClassLoader;

  private void popDefaultClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnector this
        start local 1 // java.lang.ClassLoader old
         0: .line 2553
            new javax.management.remote.rmi.RMIConnector$5
            dup
            aload 0 /* this */
            aload 1 /* old */
            invokespecial javax.management.remote.rmi.RMIConnector$5.<init>:(Ljavax/management/remote/rmi/RMIConnector;Ljava/lang/ClassLoader;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 2559
            return
        end local 1 // java.lang.ClassLoader old
        end local 0 // javax.management.remote.rmi.RMIConnector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/management/remote/rmi/RMIConnector;
            0    2     1   old  Ljava/lang/ClassLoader;
    MethodParameters:
      Name  Flags
      old   final

  private static java.lang.String objects(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object[] objs
         0: .line 2628
            aload 0 /* objs */
            ifnonnull 2
         1: .line 2629
            ldc "null"
            areturn
         2: .line 2631
      StackMap locals:
      StackMap stack:
            aload 0 /* objs */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object[] objs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  objs  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      objs  final

  private static java.lang.String strings(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String[] strs
         0: .line 2635
            aload 0 /* strs */
            invokestatic javax.management.remote.rmi.RMIConnector.objects:([Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String[] strs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  strs  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      strs  final

  static java.lang.String getAttributesNames(javax.management.AttributeList);
    descriptor: (Ljavax/management/AttributeList;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.management.AttributeList attributes
         0: .line 2639
            aload 0 /* attributes */
            ifnull 4
         1: .line 2640
            aload 0 /* attributes */
            invokevirtual javax.management.AttributeList.asList:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         2: .line 2641
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  javax/management/Attribute.getName()Ljava/lang/String; (5)
                  (Ljavax/management/Attribute;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 2642
            ldc ", "
            ldc "["
            ldc "]"
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            goto 5
         4: .line 2643
      StackMap locals:
      StackMap stack:
            ldc "[]"
         5: .line 2639
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // javax.management.AttributeList attributes
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  attributes  Ljavax/management/AttributeList;
    MethodParameters:
            Name  Flags
      attributes  
}
SourceFile: "RMIConnector.java"
NestMembers:
  javax.management.remote.rmi.RMIConnector$1  javax.management.remote.rmi.RMIConnector$2  javax.management.remote.rmi.RMIConnector$3  javax.management.remote.rmi.RMIConnector$4  javax.management.remote.rmi.RMIConnector$5  javax.management.remote.rmi.RMIConnector$ObjectInputStreamWithLoader  javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin  javax.management.remote.rmi.RMIConnector$RMINotifClient  javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  javax.management.remote.rmi.RMIConnector$1
  javax.management.remote.rmi.RMIConnector$2
  javax.management.remote.rmi.RMIConnector$3
  javax.management.remote.rmi.RMIConnector$4
  javax.management.remote.rmi.RMIConnector$5
  private final ObjectInputStreamWithLoader = javax.management.remote.rmi.RMIConnector$ObjectInputStreamWithLoader of javax.management.remote.rmi.RMIConnector
  private RMIClientCommunicatorAdmin = javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin of javax.management.remote.rmi.RMIConnector
  private RMINotifClient = javax.management.remote.rmi.RMIConnector$RMINotifClient of javax.management.remote.rmi.RMIConnector
  private RemoteMBeanServerConnection = javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection of javax.management.remote.rmi.RMIConnector