public class sun.tools.jconsole.ProxyClient implements com.sun.tools.jconsole.JConsoleContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.tools.jconsole.ProxyClient
  super_class: java.lang.Object
{
  private com.sun.tools.jconsole.JConsoleContext$ConnectionState connectionState;
    descriptor: Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
    flags: (0x0002) ACC_PRIVATE

  private javax.swing.event.SwingPropertyChangeSupport propertyChangeSupport;
    descriptor: Ljavax/swing/event/SwingPropertyChangeSupport;
    flags: (0x0002) ACC_PRIVATE

  private static java.util.Map<java.lang.String, sun.tools.jconsole.ProxyClient> cache;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Lsun/tools/jconsole/ProxyClient;>;

  private volatile boolean isDead;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

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

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

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

  private boolean hasPlatformMXBeans;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean hasHotSpotDiagnosticMXBean;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean hasCompilationMXBean;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean supportsLockUsage;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private sun.tools.jconsole.LocalVirtualMachine lvm;
    descriptor: Lsun/tools/jconsole/LocalVirtualMachine;
    flags: (0x0002) ACC_PRIVATE

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

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

  private javax.management.MBeanServerConnection mbsc;
    descriptor: Ljavax/management/MBeanServerConnection;
    flags: (0x0002) ACC_PRIVATE

  private sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection server;
    descriptor: Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
    flags: (0x0002) ACC_PRIVATE

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

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

  private static final javax.rmi.ssl.SslRMIClientSocketFactory sslRMIClientSocketFactory;
    descriptor: Ljavax/rmi/ssl/SslRMIClientSocketFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private boolean vmConnector;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean sslRegistry;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean sslStub;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.String connectionName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String displayName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.management.ClassLoadingMXBean classLoadingMBean;
    descriptor: Ljava/lang/management/ClassLoadingMXBean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.management.CompilationMXBean compilationMBean;
    descriptor: Ljava/lang/management/CompilationMXBean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.management.MemoryMXBean memoryMBean;
    descriptor: Ljava/lang/management/MemoryMXBean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.management.OperatingSystemMXBean operatingSystemMBean;
    descriptor: Ljava/lang/management/OperatingSystemMXBean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.management.RuntimeMXBean runtimeMBean;
    descriptor: Ljava/lang/management/RuntimeMXBean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.management.ThreadMXBean threadMBean;
    descriptor: Ljava/lang/management/ThreadMXBean;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.management.OperatingSystemMXBean sunOperatingSystemMXBean;
    descriptor: Lcom/sun/management/OperatingSystemMXBean;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.management.HotSpotDiagnosticMXBean hotspotDiagnosticMXBean;
    descriptor: Lcom/sun/management/HotSpotDiagnosticMXBean;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<sun.tools.jconsole.MemoryPoolProxy> memoryPoolProxies;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lsun/tools/jconsole/MemoryPoolProxy;>;

  private java.util.List<java.lang.management.GarbageCollectorMXBean> garbageCollectorMBeans;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/management/GarbageCollectorMXBean;>;

  private static final java.lang.String HOTSPOT_DIAGNOSTIC_MXBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.management:type=HotSpotDiagnostic"

  private static final java.lang.String rmiServerImplStubClassName;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.management.remote.rmi.RMIServerImpl_Stub"

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

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 49
            ldc Lsun/tools/jconsole/ProxyClient;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.tools.jconsole.ProxyClient.$assertionsDisabled:Z
         3: .line 58
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
         4: .line 57
            putstatic sun.tools.jconsole.ProxyClient.cache:Ljava/util/Map;
         5: .line 84
            new javax.rmi.ssl.SslRMIClientSocketFactory
            dup
            invokespecial javax.rmi.ssl.SslRMIClientSocketFactory.<init>:()V
         6: .line 83
            putstatic sun.tools.jconsole.ProxyClient.sslRMIClientSocketFactory:Ljavax/rmi/ssl/SslRMIClientSocketFactory;
         7: .line 205
            aconst_null
            astore 0 /* serverStubClass */
        start local 0 // java.lang.Class serverStubClass
         8: .line 207
            ldc "javax.management.remote.rmi.RMIServerImpl_Stub"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            ldc Ljava/rmi/Remote;
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 0 /* serverStubClass */
         9: .line 208
            goto 12
      StackMap locals: java.lang.Class
      StackMap stack: java.lang.ClassNotFoundException
        10: astore 1 /* e */
        start local 1 // java.lang.ClassNotFoundException e
        11: .line 210
            new java.lang.InternalError
            dup
            aload 1 /* e */
            invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassNotFoundException e
        12: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* serverStubClass */
            putstatic sun.tools.jconsole.ProxyClient.rmiServerImplStubClass:Ljava/lang/Class;
        end local 0 // java.lang.Class serverStubClass
        13: .line 213
            return
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            8   13     0  serverStubClass  Ljava/lang/Class<+Ljava/rmi/Remote;>;
           11   12     1                e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.ClassNotFoundException

  private void <init>(java.lang.String, int, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // java.lang.String hostName
        start local 2 // int port
        start local 3 // java.lang.String userName
        start local 4 // java.lang.String password
         0: .line 109
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            getstatic com.sun.tools.jconsole.JConsoleContext$ConnectionState.DISCONNECTED:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
            putfield sun.tools.jconsole.ProxyClient.connectionState:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
         2: .line 54
            aload 0 /* this */
         3: .line 55
            new javax.swing.event.SwingPropertyChangeSupport
            dup
            aload 0 /* this */
            iconst_1
            invokespecial javax.swing.event.SwingPropertyChangeSupport.<init>:(Ljava/lang/Object;Z)V
            putfield sun.tools.jconsole.ProxyClient.propertyChangeSupport:Ljavax/swing/event/SwingPropertyChangeSupport;
         4: .line 60
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jconsole.ProxyClient.isDead:Z
         5: .line 61
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.hostName:Ljava/lang/String;
         6: .line 62
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.port:I
         7: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.userName:Ljava/lang/String;
         8: .line 64
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.password:Ljava/lang/String;
         9: .line 65
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
        10: .line 66
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.hasHotSpotDiagnosticMXBean:Z
        11: .line 67
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.hasCompilationMXBean:Z
        12: .line 68
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.supportsLockUsage:Z
        13: .line 76
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.advancedUrl:Ljava/lang/String;
        14: .line 78
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.jmxUrl:Ljavax/management/remote/JMXServiceURL;
        15: .line 79
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.mbsc:Ljavax/management/MBeanServerConnection;
        16: .line 80
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
        17: .line 81
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
        18: .line 82
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.stub:Ljavax/management/remote/rmi/RMIServer;
        19: .line 85
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.registryHostName:Ljava/lang/String;
        20: .line 86
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.registryPort:I
        21: .line 87
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.vmConnector:Z
        22: .line 88
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.sslRegistry:Z
        23: .line 89
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.sslStub:Z
        24: .line 93
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.classLoadingMBean:Ljava/lang/management/ClassLoadingMXBean;
        25: .line 94
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.compilationMBean:Ljava/lang/management/CompilationMXBean;
        26: .line 95
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.memoryMBean:Ljava/lang/management/MemoryMXBean;
        27: .line 96
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.operatingSystemMBean:Ljava/lang/management/OperatingSystemMXBean;
        28: .line 97
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.runtimeMBean:Ljava/lang/management/RuntimeMXBean;
        29: .line 98
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.threadMBean:Ljava/lang/management/ThreadMXBean;
        30: .line 100
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.sunOperatingSystemMXBean:Lcom/sun/management/OperatingSystemMXBean;
        31: .line 101
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.hotspotDiagnosticMXBean:Lcom/sun/management/HotSpotDiagnosticMXBean;
        32: .line 103
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.memoryPoolProxies:Ljava/util/List;
        33: .line 104
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.garbageCollectorMBeans:Ljava/util/List;
        34: .line 111
            aload 0 /* this */
            aload 1 /* hostName */
            iload 2 /* port */
            aload 3 /* userName */
            invokestatic sun.tools.jconsole.ProxyClient.getConnectionName:(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;
            putfield sun.tools.jconsole.ProxyClient.connectionName:Ljava/lang/String;
        35: .line 112
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.connectionName:Ljava/lang/String;
            putfield sun.tools.jconsole.ProxyClient.displayName:Ljava/lang/String;
        36: .line 113
            aload 1 /* hostName */
            ldc "localhost"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 40
            iload 2 /* port */
            ifne 40
        37: .line 115
            aload 0 /* this */
            aload 1 /* hostName */
            putfield sun.tools.jconsole.ProxyClient.hostName:Ljava/lang/String;
        38: .line 116
            aload 0 /* this */
            iload 2 /* port */
            putfield sun.tools.jconsole.ProxyClient.port:I
        39: .line 117
            goto 49
        40: .line 120
      StackMap locals: sun.tools.jconsole.ProxyClient java.lang.String int java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "/jndi/rmi://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* hostName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        41: .line 121
            ldc "/jmxrmi"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        42: .line 120
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* urlPath */
        start local 5 // java.lang.String urlPath
        43: .line 122
            new javax.management.remote.JMXServiceURL
            dup
            ldc "rmi"
            ldc ""
            iconst_0
            aload 5 /* urlPath */
            invokespecial javax.management.remote.JMXServiceURL.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
            astore 6 /* url */
        start local 6 // javax.management.remote.JMXServiceURL url
        44: .line 123
            aload 0 /* this */
            aload 6 /* url */
            aload 3 /* userName */
            aload 4 /* password */
            invokevirtual sun.tools.jconsole.ProxyClient.setParameters:(Ljavax/management/remote/JMXServiceURL;Ljava/lang/String;Ljava/lang/String;)V
        45: .line 124
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jconsole.ProxyClient.vmConnector:Z
        46: .line 125
            aload 0 /* this */
            aload 1 /* hostName */
            putfield sun.tools.jconsole.ProxyClient.registryHostName:Ljava/lang/String;
        47: .line 126
            aload 0 /* this */
            iload 2 /* port */
            putfield sun.tools.jconsole.ProxyClient.registryPort:I
        48: .line 127
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.checkSslConfig:()V
        end local 6 // javax.management.remote.JMXServiceURL url
        end local 5 // java.lang.String urlPath
        49: .line 129
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String password
        end local 3 // java.lang.String userName
        end local 2 // int port
        end local 1 // java.lang.String hostName
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   50     0      this  Lsun/tools/jconsole/ProxyClient;
            0   50     1  hostName  Ljava/lang/String;
            0   50     2      port  I
            0   50     3  userName  Ljava/lang/String;
            0   50     4  password  Ljava/lang/String;
           43   49     5   urlPath  Ljava/lang/String;
           44   49     6       url  Ljavax/management/remote/JMXServiceURL;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      hostName  
      port      
      userName  
      password  

  private void <init>(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // java.lang.String url
        start local 2 // java.lang.String userName
        start local 3 // java.lang.String password
         0: .line 131
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            getstatic com.sun.tools.jconsole.JConsoleContext$ConnectionState.DISCONNECTED:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
            putfield sun.tools.jconsole.ProxyClient.connectionState:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
         2: .line 54
            aload 0 /* this */
         3: .line 55
            new javax.swing.event.SwingPropertyChangeSupport
            dup
            aload 0 /* this */
            iconst_1
            invokespecial javax.swing.event.SwingPropertyChangeSupport.<init>:(Ljava/lang/Object;Z)V
            putfield sun.tools.jconsole.ProxyClient.propertyChangeSupport:Ljavax/swing/event/SwingPropertyChangeSupport;
         4: .line 60
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jconsole.ProxyClient.isDead:Z
         5: .line 61
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.hostName:Ljava/lang/String;
         6: .line 62
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.port:I
         7: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.userName:Ljava/lang/String;
         8: .line 64
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.password:Ljava/lang/String;
         9: .line 65
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
        10: .line 66
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.hasHotSpotDiagnosticMXBean:Z
        11: .line 67
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.hasCompilationMXBean:Z
        12: .line 68
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.supportsLockUsage:Z
        13: .line 76
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.advancedUrl:Ljava/lang/String;
        14: .line 78
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.jmxUrl:Ljavax/management/remote/JMXServiceURL;
        15: .line 79
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.mbsc:Ljavax/management/MBeanServerConnection;
        16: .line 80
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
        17: .line 81
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
        18: .line 82
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.stub:Ljavax/management/remote/rmi/RMIServer;
        19: .line 85
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.registryHostName:Ljava/lang/String;
        20: .line 86
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.registryPort:I
        21: .line 87
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.vmConnector:Z
        22: .line 88
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.sslRegistry:Z
        23: .line 89
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.sslStub:Z
        24: .line 93
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.classLoadingMBean:Ljava/lang/management/ClassLoadingMXBean;
        25: .line 94
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.compilationMBean:Ljava/lang/management/CompilationMXBean;
        26: .line 95
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.memoryMBean:Ljava/lang/management/MemoryMXBean;
        27: .line 96
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.operatingSystemMBean:Ljava/lang/management/OperatingSystemMXBean;
        28: .line 97
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.runtimeMBean:Ljava/lang/management/RuntimeMXBean;
        29: .line 98
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.threadMBean:Ljava/lang/management/ThreadMXBean;
        30: .line 100
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.sunOperatingSystemMXBean:Lcom/sun/management/OperatingSystemMXBean;
        31: .line 101
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.hotspotDiagnosticMXBean:Lcom/sun/management/HotSpotDiagnosticMXBean;
        32: .line 103
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.memoryPoolProxies:Ljava/util/List;
        33: .line 104
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.garbageCollectorMBeans:Ljava/util/List;
        34: .line 133
            aload 0 /* this */
            aload 1 /* url */
            putfield sun.tools.jconsole.ProxyClient.advancedUrl:Ljava/lang/String;
        35: .line 134
            aload 0 /* this */
            aload 1 /* url */
            aload 2 /* userName */
            invokestatic sun.tools.jconsole.ProxyClient.getConnectionName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield sun.tools.jconsole.ProxyClient.connectionName:Ljava/lang/String;
        36: .line 135
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.connectionName:Ljava/lang/String;
            putfield sun.tools.jconsole.ProxyClient.displayName:Ljava/lang/String;
        37: .line 136
            aload 0 /* this */
            new javax.management.remote.JMXServiceURL
            dup
            aload 1 /* url */
            invokespecial javax.management.remote.JMXServiceURL.<init>:(Ljava/lang/String;)V
            aload 2 /* userName */
            aload 3 /* password */
            invokevirtual sun.tools.jconsole.ProxyClient.setParameters:(Ljavax/management/remote/JMXServiceURL;Ljava/lang/String;Ljava/lang/String;)V
        38: .line 137
            return
        end local 3 // java.lang.String password
        end local 2 // java.lang.String userName
        end local 1 // java.lang.String url
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   39     0      this  Lsun/tools/jconsole/ProxyClient;
            0   39     1       url  Ljava/lang/String;
            0   39     2  userName  Ljava/lang/String;
            0   39     3  password  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      url       
      userName  
      password  

  private void <init>(sun.tools.jconsole.LocalVirtualMachine);
    descriptor: (Lsun/tools/jconsole/LocalVirtualMachine;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // sun.tools.jconsole.LocalVirtualMachine lvm
         0: .line 139
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            getstatic com.sun.tools.jconsole.JConsoleContext$ConnectionState.DISCONNECTED:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
            putfield sun.tools.jconsole.ProxyClient.connectionState:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
         2: .line 54
            aload 0 /* this */
         3: .line 55
            new javax.swing.event.SwingPropertyChangeSupport
            dup
            aload 0 /* this */
            iconst_1
            invokespecial javax.swing.event.SwingPropertyChangeSupport.<init>:(Ljava/lang/Object;Z)V
            putfield sun.tools.jconsole.ProxyClient.propertyChangeSupport:Ljavax/swing/event/SwingPropertyChangeSupport;
         4: .line 60
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jconsole.ProxyClient.isDead:Z
         5: .line 61
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.hostName:Ljava/lang/String;
         6: .line 62
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.port:I
         7: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.userName:Ljava/lang/String;
         8: .line 64
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.password:Ljava/lang/String;
         9: .line 65
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
        10: .line 66
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.hasHotSpotDiagnosticMXBean:Z
        11: .line 67
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.hasCompilationMXBean:Z
        12: .line 68
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.supportsLockUsage:Z
        13: .line 76
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.advancedUrl:Ljava/lang/String;
        14: .line 78
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.jmxUrl:Ljavax/management/remote/JMXServiceURL;
        15: .line 79
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.mbsc:Ljavax/management/MBeanServerConnection;
        16: .line 80
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
        17: .line 81
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
        18: .line 82
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.stub:Ljavax/management/remote/rmi/RMIServer;
        19: .line 85
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.registryHostName:Ljava/lang/String;
        20: .line 86
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.registryPort:I
        21: .line 87
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.vmConnector:Z
        22: .line 88
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.sslRegistry:Z
        23: .line 89
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.sslStub:Z
        24: .line 93
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.classLoadingMBean:Ljava/lang/management/ClassLoadingMXBean;
        25: .line 94
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.compilationMBean:Ljava/lang/management/CompilationMXBean;
        26: .line 95
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.memoryMBean:Ljava/lang/management/MemoryMXBean;
        27: .line 96
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.operatingSystemMBean:Ljava/lang/management/OperatingSystemMXBean;
        28: .line 97
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.runtimeMBean:Ljava/lang/management/RuntimeMXBean;
        29: .line 98
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.threadMBean:Ljava/lang/management/ThreadMXBean;
        30: .line 100
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.sunOperatingSystemMXBean:Lcom/sun/management/OperatingSystemMXBean;
        31: .line 101
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.hotspotDiagnosticMXBean:Lcom/sun/management/HotSpotDiagnosticMXBean;
        32: .line 103
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.memoryPoolProxies:Ljava/util/List;
        33: .line 104
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.garbageCollectorMBeans:Ljava/util/List;
        34: .line 140
            aload 0 /* this */
            aload 1 /* lvm */
            putfield sun.tools.jconsole.ProxyClient.lvm:Lsun/tools/jconsole/LocalVirtualMachine;
        35: .line 141
            aload 0 /* this */
            aload 1 /* lvm */
            invokestatic sun.tools.jconsole.ProxyClient.getConnectionName:(Lsun/tools/jconsole/LocalVirtualMachine;)Ljava/lang/String;
            putfield sun.tools.jconsole.ProxyClient.connectionName:Ljava/lang/String;
        36: .line 142
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "pid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* lvm */
            invokevirtual sun.tools.jconsole.LocalVirtualMachine.vmid:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* lvm */
            invokevirtual sun.tools.jconsole.LocalVirtualMachine.displayName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield sun.tools.jconsole.ProxyClient.displayName:Ljava/lang/String;
        37: .line 143
            return
        end local 1 // sun.tools.jconsole.LocalVirtualMachine lvm
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   38     0  this  Lsun/tools/jconsole/ProxyClient;
            0   38     1   lvm  Lsun/tools/jconsole/LocalVirtualMachine;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      lvm   

  private void setParameters(javax.management.remote.JMXServiceURL, java.lang.String, java.lang.String);
    descriptor: (Ljavax/management/remote/JMXServiceURL;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // javax.management.remote.JMXServiceURL url
        start local 2 // java.lang.String userName
        start local 3 // java.lang.String password
         0: .line 146
            aload 0 /* this */
            aload 1 /* url */
            putfield sun.tools.jconsole.ProxyClient.jmxUrl:Ljavax/management/remote/JMXServiceURL;
         1: .line 147
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.jmxUrl:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getHost:()Ljava/lang/String;
            putfield sun.tools.jconsole.ProxyClient.hostName:Ljava/lang/String;
         2: .line 148
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.jmxUrl:Ljavax/management/remote/JMXServiceURL;
            invokevirtual javax.management.remote.JMXServiceURL.getPort:()I
            putfield sun.tools.jconsole.ProxyClient.port:I
         3: .line 149
            aload 0 /* this */
            aload 2 /* userName */
            putfield sun.tools.jconsole.ProxyClient.userName:Ljava/lang/String;
         4: .line 150
            aload 0 /* this */
            aload 3 /* password */
            putfield sun.tools.jconsole.ProxyClient.password:Ljava/lang/String;
         5: .line 151
            return
        end local 3 // java.lang.String password
        end local 2 // java.lang.String userName
        end local 1 // javax.management.remote.JMXServiceURL url
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/tools/jconsole/ProxyClient;
            0    6     1       url  Ljavax/management/remote/JMXServiceURL;
            0    6     2  userName  Ljava/lang/String;
            0    6     3  password  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      url       
      userName  
      password  

  private static void checkStub(java.rmi.Remote, java.lang.Class<? extends java.rmi.Remote>);
    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 157
            aload 0 /* stub */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* stubClass */
            if_acmpeq 14
         1: .line 158
            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 159
            new java.lang.SecurityException
            dup
         3: .line 160
            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 159
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 162
      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 163
            aload 2 /* handler */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljava/rmi/server/RemoteObjectInvocationHandler;
            if_acmpeq 13
         7: .line 164
            new java.lang.SecurityException
            dup
         8: .line 165
            new java.lang.StringBuilder
            dup
            ldc "Expecting a dynamic proxy instance with a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 166
            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 167
            ldc " invocation handler!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 165
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 164
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 169
      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 176
      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 177
            aload 2 /* ref */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lsun/rmi/server/UnicastRef2;
            if_acmpeq 21
        16: .line 178
            new java.lang.SecurityException
            dup
        17: .line 179
            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 180
            ldc " remote reference in stub!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 179
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 178
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 185
      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 186
            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 187
            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 188
      StackMap locals: sun.rmi.transport.LiveRef java.rmi.server.RMIClientSocketFactory
      StackMap stack:
            new java.lang.SecurityException
            dup
        25: .line 189
            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 190
            ldc " RMI client socket factory in stub!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 189
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 188
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 192
      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<+Ljava/rmi/Remote;>;
            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<+Ljava/rmi/Remote;>;)V
    MethodParameters:
           Name  Flags
      stub       
      stubClass  

  private void checkSslConfig();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 221
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.registryHostName:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.registryPort:I
         1: .line 222
            getstatic sun.tools.jconsole.ProxyClient.sslRMIClientSocketFactory:Ljavax/rmi/ssl/SslRMIClientSocketFactory;
         2: .line 221
            invokestatic java.rmi.registry.LocateRegistry.getRegistry:(Ljava/lang/String;ILjava/rmi/server/RMIClientSocketFactory;)Ljava/rmi/registry/Registry;
         3: .line 220
            astore 1 /* registry */
        start local 1 // java.rmi.registry.Registry registry
         4: .line 224
            aload 0 /* this */
            aload 1 /* registry */
            ldc "jmxrmi"
            invokeinterface java.rmi.registry.Registry.lookup:(Ljava/lang/String;)Ljava/rmi/Remote;
            checkcast javax.management.remote.rmi.RMIServer
            putfield sun.tools.jconsole.ProxyClient.stub:Ljavax/management/remote/rmi/RMIServer;
         5: .line 225
            goto 9
      StackMap locals: sun.tools.jconsole.ProxyClient java.rmi.registry.Registry
      StackMap stack: java.rmi.NotBoundException
         6: astore 2 /* nbe */
        start local 2 // java.rmi.NotBoundException nbe
         7: .line 227
            new java.io.IOException
            dup
            aload 2 /* nbe */
            invokevirtual java.rmi.NotBoundException.getMessage:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            aload 2 /* nbe */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
         8: .line 226
            checkcast java.io.IOException
            athrow
        end local 2 // java.rmi.NotBoundException nbe
         9: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jconsole.ProxyClient.sslRegistry:Z
        10: .line 230
            goto 20
        end local 1 // java.rmi.registry.Registry registry
      StackMap locals: sun.tools.jconsole.ProxyClient
      StackMap stack: java.io.IOException
        11: pop
        12: .line 232
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.registryHostName:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.registryPort:I
            invokestatic java.rmi.registry.LocateRegistry.getRegistry:(Ljava/lang/String;I)Ljava/rmi/registry/Registry;
        13: .line 231
            astore 1 /* registry */
        start local 1 // java.rmi.registry.Registry registry
        14: .line 234
            aload 0 /* this */
            aload 1 /* registry */
            ldc "jmxrmi"
            invokeinterface java.rmi.registry.Registry.lookup:(Ljava/lang/String;)Ljava/rmi/Remote;
            checkcast javax.management.remote.rmi.RMIServer
            putfield sun.tools.jconsole.ProxyClient.stub:Ljavax/management/remote/rmi/RMIServer;
        15: .line 235
            goto 19
      StackMap locals: sun.tools.jconsole.ProxyClient java.rmi.registry.Registry
      StackMap stack: java.rmi.NotBoundException
        16: astore 2 /* nbe */
        start local 2 // java.rmi.NotBoundException nbe
        17: .line 237
            new java.io.IOException
            dup
            aload 2 /* nbe */
            invokevirtual java.rmi.NotBoundException.getMessage:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            aload 2 /* nbe */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        18: .line 236
            checkcast java.io.IOException
            athrow
        end local 2 // java.rmi.NotBoundException nbe
        19: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.sslRegistry:Z
        20: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.stub:Ljavax/management/remote/rmi/RMIServer;
            getstatic sun.tools.jconsole.ProxyClient.rmiServerImplStubClass:Ljava/lang/Class;
            invokestatic sun.tools.jconsole.ProxyClient.checkStub:(Ljava/rmi/Remote;Ljava/lang/Class;)V
        21: .line 245
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jconsole.ProxyClient.sslStub:Z
        22: .line 246
            goto 25
      StackMap locals:
      StackMap stack: java.lang.SecurityException
        23: pop
        24: .line 247
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.sslStub:Z
        25: .line 249
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.rmi.registry.Registry registry
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Lsun/tools/jconsole/ProxyClient;
            4   11     1  registry  Ljava/rmi/registry/Registry;
           14   26     1  registry  Ljava/rmi/registry/Registry;
            7    9     2       nbe  Ljava/rmi/NotBoundException;
           17   19     2       nbe  Ljava/rmi/NotBoundException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.rmi.NotBoundException
           0    10      11  Class java.io.IOException
          14    15      16  Class java.rmi.NotBoundException
          20    22      23  Class java.lang.SecurityException
    Exceptions:
      throws java.io.IOException

  public boolean isSslRmiRegistry();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 260
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.isVmConnector:()Z
            ifne 4
         1: .line 261
            new java.lang.UnsupportedOperationException
            dup
         2: .line 262
            ldc "ProxyClient.isSslRmiRegistry() is only supported if this ProxyClient is a JMX connector for a JMX VM agent"
         3: .line 261
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.sslRegistry:Z
            ireturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/tools/jconsole/ProxyClient;

  public boolean isSslRmiStub();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 277
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.isVmConnector:()Z
            ifne 4
         1: .line 278
            new java.lang.UnsupportedOperationException
            dup
         2: .line 279
            ldc "ProxyClient.isSslRmiStub() is only supported if this ProxyClient is a JMX connector for a JMX VM agent"
         3: .line 278
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.sslStub:Z
            ireturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/tools/jconsole/ProxyClient;

  public boolean isVmConnector();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 290
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.vmConnector:Z
            ireturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  private void setConnectionState(com.sun.tools.jconsole.JConsoleContext$ConnectionState);
    descriptor: (Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // com.sun.tools.jconsole.JConsoleContext$ConnectionState state
         0: .line 294
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.connectionState:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
            astore 2 /* oldState */
        start local 2 // com.sun.tools.jconsole.JConsoleContext$ConnectionState oldState
         1: .line 295
            aload 0 /* this */
            aload 1 /* state */
            putfield sun.tools.jconsole.ProxyClient.connectionState:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
         2: .line 296
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.propertyChangeSupport:Ljavax/swing/event/SwingPropertyChangeSupport;
            ldc "connectionState"
         3: .line 297
            aload 2 /* oldState */
            aload 1 /* state */
         4: .line 296
            invokevirtual javax.swing.event.SwingPropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 298
            return
        end local 2 // com.sun.tools.jconsole.JConsoleContext$ConnectionState oldState
        end local 1 // com.sun.tools.jconsole.JConsoleContext$ConnectionState state
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/tools/jconsole/ProxyClient;
            0    6     1     state  Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
            1    6     2  oldState  Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
    MethodParameters:
       Name  Flags
      state  

  public com.sun.tools.jconsole.JConsoleContext$ConnectionState getConnectionState();
    descriptor: ()Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 301
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.connectionState:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  void flush();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 305
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            ifnull 2
         1: .line 306
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.flush:()V
         2: .line 308
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/jconsole/ProxyClient;

  void connect(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // boolean requireSSL
         0: .line 311
            aload 0 /* this */
            getstatic com.sun.tools.jconsole.JConsoleContext$ConnectionState.CONNECTING:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
            invokevirtual sun.tools.jconsole.ProxyClient.setConnectionState:(Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;)V
         1: .line 313
            aload 0 /* this */
            iload 1 /* requireSSL */
            invokevirtual sun.tools.jconsole.ProxyClient.tryConnect:(Z)V
         2: .line 314
            aload 0 /* this */
            getstatic com.sun.tools.jconsole.JConsoleContext$ConnectionState.CONNECTED:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
            invokevirtual sun.tools.jconsole.ProxyClient.setConnectionState:(Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;)V
         3: .line 315
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: astore 2 /* e */
        start local 2 // java.lang.Exception e
         5: .line 316
            invokestatic sun.tools.jconsole.JConsole.isDebug:()Z
            ifeq 7
         6: .line 317
            aload 2 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
         7: .line 319
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            getstatic com.sun.tools.jconsole.JConsoleContext$ConnectionState.DISCONNECTED:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
            invokevirtual sun.tools.jconsole.ProxyClient.setConnectionState:(Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;)V
        end local 2 // java.lang.Exception e
         8: .line 321
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean requireSSL
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lsun/tools/jconsole/ProxyClient;
            0    9     1  requireSSL  Z
            5    8     2           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      requireSSL  

  private void tryConnect(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // boolean requireRemoteSSL
         0: .line 324
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.jmxUrl:Ljavax/management/remote/JMXServiceURL;
            ifnonnull 5
            ldc "localhost"
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hostName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.port:I
            ifne 5
         1: .line 326
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
         2: .line 327
            aload 0 /* this */
            invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
            putfield sun.tools.jconsole.ProxyClient.mbsc:Ljavax/management/MBeanServerConnection;
         3: .line 328
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.mbsc:Ljavax/management/MBeanServerConnection;
            invokestatic sun.tools.jconsole.ProxyClient$Snapshot.newSnapshot:(Ljavax/management/MBeanServerConnection;)Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            putfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
         4: .line 329
            goto 36
         5: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.lvm:Lsun/tools/jconsole/LocalVirtualMachine;
            ifnull 12
         6: .line 332
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.lvm:Lsun/tools/jconsole/LocalVirtualMachine;
            invokevirtual sun.tools.jconsole.LocalVirtualMachine.isManageable:()Z
            ifne 10
         7: .line 333
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.lvm:Lsun/tools/jconsole/LocalVirtualMachine;
            invokevirtual sun.tools.jconsole.LocalVirtualMachine.startManagementAgent:()V
         8: .line 334
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.lvm:Lsun/tools/jconsole/LocalVirtualMachine;
            invokevirtual sun.tools.jconsole.LocalVirtualMachine.isManageable:()Z
            ifne 10
         9: .line 336
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.lvm:Lsun/tools/jconsole/LocalVirtualMachine;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "not manageable"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.jmxUrl:Ljavax/management/remote/JMXServiceURL;
            ifnonnull 12
        11: .line 340
            aload 0 /* this */
            new javax.management.remote.JMXServiceURL
            dup
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.lvm:Lsun/tools/jconsole/LocalVirtualMachine;
            invokevirtual sun.tools.jconsole.LocalVirtualMachine.connectorAddress:()Ljava/lang/String;
            invokespecial javax.management.remote.JMXServiceURL.<init>:(Ljava/lang/String;)V
            putfield sun.tools.jconsole.ProxyClient.jmxUrl:Ljavax/management/remote/JMXServiceURL;
        12: .line 343
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* env */
        start local 2 // java.util.Map env
        13: .line 344
            iload 1 /* requireRemoteSSL */
            ifeq 15
        14: .line 345
            aload 2 /* env */
            ldc "jmx.remote.x.check.stub"
            ldc "true"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 348
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.userName:Ljava/lang/String;
            ifnonnull 24
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.password:Ljava/lang/String;
            ifnonnull 24
        16: .line 349
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.isVmConnector:()Z
            ifeq 22
        17: .line 351
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.stub:Ljavax/management/remote/rmi/RMIServer;
            ifnonnull 19
        18: .line 352
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.checkSslConfig:()V
        19: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new javax.management.remote.rmi.RMIConnector
            dup
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.stub:Ljavax/management/remote/rmi/RMIServer;
            aconst_null
            invokespecial javax.management.remote.rmi.RMIConnector.<init>:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)V
            putfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
        20: .line 355
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
            aload 2 /* env */
            invokeinterface javax.management.remote.JMXConnector.connect:(Ljava/util/Map;)V
        21: .line 356
            goto 34
        22: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.jmxUrl:Ljavax/management/remote/JMXServiceURL;
            aload 2 /* env */
            invokestatic javax.management.remote.JMXConnectorFactory.connect:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/JMXConnector;
            putfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
        23: .line 359
            goto 34
        24: .line 360
      StackMap locals:
      StackMap stack:
            aload 2 /* env */
            ldc "jmx.remote.credentials"
        25: .line 361
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.userName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.password:Ljava/lang/String;
            aastore
        26: .line 360
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 362
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.isVmConnector:()Z
            ifeq 33
        28: .line 364
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.stub:Ljavax/management/remote/rmi/RMIServer;
            ifnonnull 30
        29: .line 365
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.checkSslConfig:()V
        30: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new javax.management.remote.rmi.RMIConnector
            dup
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.stub:Ljavax/management/remote/rmi/RMIServer;
            aconst_null
            invokespecial javax.management.remote.rmi.RMIConnector.<init>:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)V
            putfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
        31: .line 368
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
            aload 2 /* env */
            invokeinterface javax.management.remote.JMXConnector.connect:(Ljava/util/Map;)V
        32: .line 369
            goto 34
        33: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.jmxUrl:Ljavax/management/remote/JMXServiceURL;
            aload 2 /* env */
            invokestatic javax.management.remote.JMXConnectorFactory.connect:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/JMXConnector;
            putfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
        34: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
            invokeinterface javax.management.remote.JMXConnector.getMBeanServerConnection:()Ljavax/management/MBeanServerConnection;
            putfield sun.tools.jconsole.ProxyClient.mbsc:Ljavax/management/MBeanServerConnection;
        35: .line 374
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.mbsc:Ljavax/management/MBeanServerConnection;
            invokestatic sun.tools.jconsole.ProxyClient$Snapshot.newSnapshot:(Ljavax/management/MBeanServerConnection;)Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            putfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
        end local 2 // java.util.Map env
        36: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jconsole.ProxyClient.isDead:Z
        37: .line 379
            new javax.management.ObjectName
            dup
            ldc "java.lang:type=Threading"
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* on */
        start local 2 // javax.management.ObjectName on
        38: .line 380
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 2 /* on */
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.isRegistered:(Ljavax/management/ObjectName;)Z
            putfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
        39: .line 381
            aload 0 /* this */
        40: .line 382
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            new javax.management.ObjectName
            dup
            ldc "com.sun.management:type=HotSpotDiagnostic"
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.isRegistered:(Ljavax/management/ObjectName;)Z
        41: .line 381
            putfield sun.tools.jconsole.ProxyClient.hasHotSpotDiagnosticMXBean:Z
        42: .line 384
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
            ifeq 58
        43: .line 385
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 2 /* on */
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.getMBeanInfo:(Ljavax/management/ObjectName;)Ljavax/management/MBeanInfo;
            invokevirtual javax.management.MBeanInfo.getOperations:()[Ljavax/management/MBeanOperationInfo;
            astore 3 /* mopis */
        start local 3 // javax.management.MBeanOperationInfo[] mopis
        44: .line 387
            aload 3 /* mopis */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 50
      StackMap locals: sun.tools.jconsole.ProxyClient int javax.management.ObjectName javax.management.MBeanOperationInfo[] top int int javax.management.MBeanOperationInfo[]
      StackMap stack:
        45: aload 7
            iload 5
            aaload
            astore 4 /* op */
        start local 4 // javax.management.MBeanOperationInfo op
        46: .line 388
            aload 4 /* op */
            invokevirtual javax.management.MBeanOperationInfo.getName:()Ljava/lang/String;
            ldc "findDeadlockedThreads"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 49
        47: .line 389
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jconsole.ProxyClient.supportsLockUsage:Z
        48: .line 390
            goto 51
        end local 4 // javax.management.MBeanOperationInfo op
        49: .line 387
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        50: iload 5
            iload 6
            if_icmplt 45
        51: .line 394
      StackMap locals: sun.tools.jconsole.ProxyClient int javax.management.ObjectName javax.management.MBeanOperationInfo[]
      StackMap stack:
            new javax.management.ObjectName
            dup
            ldc "java.lang:type=Compilation"
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* on */
        52: .line 395
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 2 /* on */
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.isRegistered:(Ljavax/management/ObjectName;)Z
            putfield sun.tools.jconsole.ProxyClient.hasCompilationMXBean:Z
        end local 3 // javax.management.MBeanOperationInfo[] mopis
        end local 2 // javax.management.ObjectName on
        53: .line 397
            goto 58
      StackMap locals: sun.tools.jconsole.ProxyClient int
      StackMap stack: javax.management.MalformedObjectNameException
        54: astore 2 /* e */
        start local 2 // javax.management.MalformedObjectNameException e
        55: .line 399
            new java.lang.InternalError
            dup
            aload 2 /* e */
            invokevirtual javax.management.MalformedObjectNameException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // javax.management.MalformedObjectNameException e
        56: .line 402
      StackMap locals:
      StackMap stack: javax.management.JMException
            astore 2 /* e */
        start local 2 // javax.management.JMException e
        57: .line 403
            new java.lang.InternalError
            dup
            aload 2 /* e */
            invokevirtual javax.management.JMException.getMessage:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // javax.management.JMException e
        58: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
            ifeq 60
        59: .line 409
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.getRuntimeMXBean:()Ljava/lang/management/RuntimeMXBean;
            pop
        60: .line 411
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean requireRemoteSSL
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   61     0              this  Lsun/tools/jconsole/ProxyClient;
            0   61     1  requireRemoteSSL  Z
           13   36     2               env  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
           38   53     2                on  Ljavax/management/ObjectName;
           44   53     3             mopis  [Ljavax/management/MBeanOperationInfo;
           46   49     4                op  Ljavax/management/MBeanOperationInfo;
           55   56     2                 e  Ljavax/management/MalformedObjectNameException;
           57   58     2                 e  Ljavax/management/JMException;
      Exception table:
        from    to  target  type
          37    53      54  Class javax.management.MalformedObjectNameException
          37    53      56  Class javax.management.IntrospectionException
          37    53      56  Class javax.management.InstanceNotFoundException
          37    53      56  Class javax.management.ReflectionException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      requireRemoteSSL  

  public static sun.tools.jconsole.ProxyClient getProxyClient(sun.tools.jconsole.LocalVirtualMachine);
    descriptor: (Lsun/tools/jconsole/LocalVirtualMachine;)Lsun/tools/jconsole/ProxyClient;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.tools.jconsole.LocalVirtualMachine lvm
         0: .line 418
            aload 0 /* lvm */
            invokestatic sun.tools.jconsole.ProxyClient.getCacheKey:(Lsun/tools/jconsole/LocalVirtualMachine;)Ljava/lang/String;
            astore 1 /* key */
        start local 1 // java.lang.String key
         1: .line 419
            getstatic sun.tools.jconsole.ProxyClient.cache:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.tools.jconsole.ProxyClient
            astore 2 /* proxyClient */
        start local 2 // sun.tools.jconsole.ProxyClient proxyClient
         2: .line 420
            aload 2 /* proxyClient */
            ifnonnull 5
         3: .line 421
            new sun.tools.jconsole.ProxyClient
            dup
            aload 0 /* lvm */
            invokespecial sun.tools.jconsole.ProxyClient.<init>:(Lsun/tools/jconsole/LocalVirtualMachine;)V
            astore 2 /* proxyClient */
         4: .line 422
            getstatic sun.tools.jconsole.ProxyClient.cache:Ljava/util/Map;
            aload 1 /* key */
            aload 2 /* proxyClient */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 424
      StackMap locals: java.lang.String sun.tools.jconsole.ProxyClient
      StackMap stack:
            aload 2 /* proxyClient */
            areturn
        end local 2 // sun.tools.jconsole.ProxyClient proxyClient
        end local 1 // java.lang.String key
        end local 0 // sun.tools.jconsole.LocalVirtualMachine lvm
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0          lvm  Lsun/tools/jconsole/LocalVirtualMachine;
            1    6     1          key  Ljava/lang/String;
            2    6     2  proxyClient  Lsun/tools/jconsole/ProxyClient;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      lvm   

  public static java.lang.String getConnectionName(sun.tools.jconsole.LocalVirtualMachine);
    descriptor: (Lsun/tools/jconsole/LocalVirtualMachine;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.LocalVirtualMachine lvm
         0: .line 428
            aload 0 /* lvm */
            invokevirtual sun.tools.jconsole.LocalVirtualMachine.vmid:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.LocalVirtualMachine lvm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   lvm  Lsun/tools/jconsole/LocalVirtualMachine;
    MethodParameters:
      Name  Flags
      lvm   

  private static java.lang.String getCacheKey(sun.tools.jconsole.LocalVirtualMachine);
    descriptor: (Lsun/tools/jconsole/LocalVirtualMachine;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.LocalVirtualMachine lvm
         0: .line 432
            aload 0 /* lvm */
            invokevirtual sun.tools.jconsole.LocalVirtualMachine.vmid:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.LocalVirtualMachine lvm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   lvm  Lsun/tools/jconsole/LocalVirtualMachine;
    MethodParameters:
      Name  Flags
      lvm   

  public static sun.tools.jconsole.ProxyClient getProxyClient(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lsun/tools/jconsole/ProxyClient;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.lang.String url
        start local 1 // java.lang.String userName
        start local 2 // java.lang.String password
         0: .line 441
            aload 0 /* url */
            aload 1 /* userName */
            aload 2 /* password */
            invokestatic sun.tools.jconsole.ProxyClient.getCacheKey:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
         1: .line 442
            getstatic sun.tools.jconsole.ProxyClient.cache:Ljava/util/Map;
            aload 3 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.tools.jconsole.ProxyClient
            astore 4 /* proxyClient */
        start local 4 // sun.tools.jconsole.ProxyClient proxyClient
         2: .line 443
            aload 4 /* proxyClient */
            ifnonnull 5
         3: .line 444
            new sun.tools.jconsole.ProxyClient
            dup
            aload 0 /* url */
            aload 1 /* userName */
            aload 2 /* password */
            invokespecial sun.tools.jconsole.ProxyClient.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 4 /* proxyClient */
         4: .line 445
            getstatic sun.tools.jconsole.ProxyClient.cache:Ljava/util/Map;
            aload 3 /* key */
            aload 4 /* proxyClient */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 447
      StackMap locals: java.lang.String sun.tools.jconsole.ProxyClient
      StackMap stack:
            aload 4 /* proxyClient */
            areturn
        end local 4 // sun.tools.jconsole.ProxyClient proxyClient
        end local 3 // java.lang.String key
        end local 2 // java.lang.String password
        end local 1 // java.lang.String userName
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0          url  Ljava/lang/String;
            0    6     1     userName  Ljava/lang/String;
            0    6     2     password  Ljava/lang/String;
            1    6     3          key  Ljava/lang/String;
            2    6     4  proxyClient  Lsun/tools/jconsole/ProxyClient;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      url       
      userName  
      password  

  public static java.lang.String getConnectionName(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String url
        start local 1 // java.lang.String userName
         0: .line 452
            aload 1 /* userName */
            ifnull 2
            aload 1 /* userName */
            invokevirtual java.lang.String.length:()I
            ifle 2
         1: .line 453
            new java.lang.StringBuilder
            dup
            aload 1 /* userName */
            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 0 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* url */
            areturn
        end local 1 // java.lang.String userName
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0       url  Ljava/lang/String;
            0    3     1  userName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      url       
      userName  

  private static java.lang.String getCacheKey(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String url
        start local 1 // java.lang.String userName
        start local 2 // java.lang.String password
         0: .line 461
            new java.lang.StringBuilder
            dup
            aload 0 /* url */
            ifnonnull 1
            ldc ""
            goto 2
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack: new 0 new 0
         1: aload 0 /* url */
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack: new 0 new 0 java.lang.String
         2: 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;
         3: .line 462
            aload 1 /* userName */
            ifnonnull 4
            ldc ""
            goto 5
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         4: aload 1 /* userName */
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
         5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 463
            aload 2 /* password */
            ifnonnull 7
            ldc ""
            goto 8
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         7: aload 2 /* password */
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
         8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 461
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String password
        end local 1 // java.lang.String userName
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0       url  Ljava/lang/String;
            0   10     1  userName  Ljava/lang/String;
            0   10     2  password  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      url       
      userName  
      password  

  public static sun.tools.jconsole.ProxyClient getProxyClient(java.lang.String, int, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Lsun/tools/jconsole/ProxyClient;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // java.lang.String hostName
        start local 1 // int port
        start local 2 // java.lang.String userName
        start local 3 // java.lang.String password
         0: .line 472
            aload 0 /* hostName */
            iload 1 /* port */
            aload 2 /* userName */
            aload 3 /* password */
            invokestatic sun.tools.jconsole.ProxyClient.getCacheKey:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* key */
        start local 4 // java.lang.String key
         1: .line 473
            getstatic sun.tools.jconsole.ProxyClient.cache:Ljava/util/Map;
            aload 4 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.tools.jconsole.ProxyClient
            astore 5 /* proxyClient */
        start local 5 // sun.tools.jconsole.ProxyClient proxyClient
         2: .line 474
            aload 5 /* proxyClient */
            ifnonnull 5
         3: .line 475
            new sun.tools.jconsole.ProxyClient
            dup
            aload 0 /* hostName */
            iload 1 /* port */
            aload 2 /* userName */
            aload 3 /* password */
            invokespecial sun.tools.jconsole.ProxyClient.<init>:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
            astore 5 /* proxyClient */
         4: .line 476
            getstatic sun.tools.jconsole.ProxyClient.cache:Ljava/util/Map;
            aload 4 /* key */
            aload 5 /* proxyClient */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 478
      StackMap locals: java.lang.String sun.tools.jconsole.ProxyClient
      StackMap stack:
            aload 5 /* proxyClient */
            areturn
        end local 5 // sun.tools.jconsole.ProxyClient proxyClient
        end local 4 // java.lang.String key
        end local 3 // java.lang.String password
        end local 2 // java.lang.String userName
        end local 1 // int port
        end local 0 // java.lang.String hostName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0     hostName  Ljava/lang/String;
            0    6     1         port  I
            0    6     2     userName  Ljava/lang/String;
            0    6     3     password  Ljava/lang/String;
            1    6     4          key  Ljava/lang/String;
            2    6     5  proxyClient  Lsun/tools/jconsole/ProxyClient;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      hostName  
      port      
      userName  
      password  

  public static java.lang.String getConnectionName(java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String hostName
        start local 1 // int port
        start local 2 // java.lang.String userName
         0: .line 483
            new java.lang.StringBuilder
            dup
            aload 0 /* hostName */
            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;
            iload 1 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 484
            aload 2 /* userName */
            ifnull 3
            aload 2 /* userName */
            invokevirtual java.lang.String.length:()I
            ifle 3
         2: .line 485
            new java.lang.StringBuilder
            dup
            aload 2 /* userName */
            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 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         3: .line 487
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* name */
            areturn
        end local 3 // java.lang.String name
        end local 2 // java.lang.String userName
        end local 1 // int port
        end local 0 // java.lang.String hostName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  hostName  Ljava/lang/String;
            0    4     1      port  I
            0    4     2  userName  Ljava/lang/String;
            1    4     3      name  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      hostName  
      port      
      userName  

  private static java.lang.String getCacheKey(java.lang.String, int, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // java.lang.String hostName
        start local 1 // int port
        start local 2 // java.lang.String userName
        start local 3 // java.lang.String password
         0: .line 493
            new java.lang.StringBuilder
            dup
            aload 0 /* hostName */
            ifnonnull 1
            ldc ""
            goto 2
      StackMap locals: java.lang.String int java.lang.String java.lang.String
      StackMap stack: new 0 new 0
         1: aload 0 /* hostName */
      StackMap locals: java.lang.String int java.lang.String java.lang.String
      StackMap stack: new 0 new 0 java.lang.String
         2: 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;
         3: .line 494
            iload 1 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 495
            aload 2 /* userName */
            ifnonnull 5
            ldc ""
            goto 6
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         5: aload 2 /* userName */
      StackMap locals: java.lang.String int java.lang.String java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
         6: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 496
            aload 3 /* password */
            ifnonnull 8
            ldc ""
            goto 9
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         8: aload 3 /* password */
      StackMap locals: java.lang.String int java.lang.String java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
         9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 493
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String password
        end local 2 // java.lang.String userName
        end local 1 // int port
        end local 0 // java.lang.String hostName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0  hostName  Ljava/lang/String;
            0   11     1      port  I
            0   11     2  userName  Ljava/lang/String;
            0   11     3  password  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      hostName  
      port      
      userName  
      password  

  public java.lang.String connectionName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 500
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.connectionName:Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  public java.lang.String getDisplayName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 504
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.displayName:Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 508
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.isConnected:()Z
            ifne 2
         1: .line 509
            getstatic sun.tools.jconsole.Messages.CONNECTION_NAME__DISCONNECTED_:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.displayName:Ljava/lang/String;
            aastore
            invokestatic sun.tools.jconsole.Resources.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         2: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.displayName:Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/jconsole/ProxyClient;

  public javax.management.MBeanServerConnection getMBeanServerConnection();
    descriptor: ()Ljavax/management/MBeanServerConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 516
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.mbsc:Ljavax/management/MBeanServerConnection;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  public sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection getSnapshotMBeanServerConnection();
    descriptor: ()Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 520
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  public java.lang.String getUrl();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 524
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.advancedUrl:Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  public java.lang.String getHostName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 528
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hostName:Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  public int getPort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 532
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.port:I
            ireturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  public int getVmid();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 536
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.lvm:Lsun/tools/jconsole/LocalVirtualMachine;
            ifnull 1
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.lvm:Lsun/tools/jconsole/LocalVirtualMachine;
            invokevirtual sun.tools.jconsole.LocalVirtualMachine.vmid:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/jconsole/ProxyClient;

  public java.lang.String getUserName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 540
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.userName:Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  public java.lang.String getPassword();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 544
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.password:Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  public void disconnect();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 549
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.stub:Ljavax/management/remote/rmi/RMIServer;
         1: .line 551
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
            ifnull 5
         2: .line 553
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.jmxc:Ljavax/management/remote/JMXConnector;
            invokeinterface javax.management.remote.JMXConnector.close:()V
         3: .line 554
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         4: pop
         5: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.classLoadingMBean:Ljava/lang/management/ClassLoadingMXBean;
         6: .line 560
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.compilationMBean:Ljava/lang/management/CompilationMXBean;
         7: .line 561
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.memoryMBean:Ljava/lang/management/MemoryMXBean;
         8: .line 562
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.operatingSystemMBean:Ljava/lang/management/OperatingSystemMXBean;
         9: .line 563
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.runtimeMBean:Ljava/lang/management/RuntimeMXBean;
        10: .line 564
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.threadMBean:Ljava/lang/management/ThreadMXBean;
        11: .line 565
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.sunOperatingSystemMXBean:Lcom/sun/management/OperatingSystemMXBean;
        12: .line 566
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jconsole.ProxyClient.garbageCollectorMBeans:Ljava/util/List;
        13: .line 568
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.isDead:Z
            ifne 16
        14: .line 569
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jconsole.ProxyClient.isDead:Z
        15: .line 570
            aload 0 /* this */
            getstatic com.sun.tools.jconsole.JConsoleContext$ConnectionState.DISCONNECTED:Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;
            invokevirtual sun.tools.jconsole.ProxyClient.setConnectionState:(Lcom/sun/tools/jconsole/JConsoleContext$ConnectionState;)V
        16: .line 572
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lsun/tools/jconsole/ProxyClient;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException

  public java.lang.String[] getDomains();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 579
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.getDomains:()[Ljava/lang/String;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;
    Exceptions:
      throws java.io.IOException

  public java.util.Map<javax.management.ObjectName, javax.management.MBeanInfo> getMBeans(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // java.lang.String domain
         0: .line 591
            aconst_null
            astore 2 /* name */
        start local 2 // javax.management.ObjectName name
         1: .line 592
            aload 1 /* domain */
            ifnull 6
         2: .line 594
            new javax.management.ObjectName
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* domain */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 2 /* name */
         3: .line 595
            goto 6
      StackMap locals: sun.tools.jconsole.ProxyClient java.lang.String javax.management.ObjectName
      StackMap stack: javax.management.MalformedObjectNameException
         4: pop
         5: .line 597
            getstatic sun.tools.jconsole.ProxyClient.$assertionsDisabled:Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 600
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 2 /* name */
            aconst_null
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.queryNames:(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;
            astore 3 /* mbeans */
        start local 3 // java.util.Set mbeans
         7: .line 602
            new java.util.HashMap
            dup
            aload 3 /* mbeans */
            invokeinterface java.util.Set.size:()I
            invokespecial java.util.HashMap.<init>:(I)V
         8: .line 601
            astore 4 /* result */
        start local 4 // java.util.Map result
         9: .line 603
            aload 3 /* mbeans */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* iterator */
        start local 5 // java.util.Iterator iterator
        10: .line 604
            goto 20
        11: .line 605
      StackMap locals: java.util.Set java.util.Map java.util.Iterator
      StackMap stack:
            aload 5 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* object */
        start local 6 // java.lang.Object object
        12: .line 606
            aload 6 /* object */
            instanceof javax.management.ObjectName
            ifeq 20
        13: .line 607
            aload 6 /* object */
            checkcast javax.management.ObjectName
            astore 7 /* o */
        start local 7 // javax.management.ObjectName o
        14: .line 609
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 7 /* o */
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.getMBeanInfo:(Ljavax/management/ObjectName;)Ljavax/management/MBeanInfo;
            astore 8 /* info */
        start local 8 // javax.management.MBeanInfo info
        15: .line 610
            aload 4 /* result */
            aload 7 /* o */
            aload 8 /* info */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // javax.management.MBeanInfo info
        16: .line 611
            goto 20
      StackMap locals: sun.tools.jconsole.ProxyClient java.lang.String javax.management.ObjectName java.util.Set java.util.Map java.util.Iterator java.lang.Object javax.management.ObjectName
      StackMap stack: javax.management.IntrospectionException
        17: pop
            goto 20
        18: .line 613
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
            pop
            goto 20
        19: .line 615
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            pop
        end local 7 // javax.management.ObjectName o
        end local 6 // java.lang.Object object
        20: .line 604
      StackMap locals:
      StackMap stack:
            aload 5 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        21: .line 620
            aload 4 /* result */
            areturn
        end local 5 // java.util.Iterator iterator
        end local 4 // java.util.Map result
        end local 3 // java.util.Set mbeans
        end local 2 // javax.management.ObjectName name
        end local 1 // java.lang.String domain
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lsun/tools/jconsole/ProxyClient;
            0   22     1    domain  Ljava/lang/String;
            1   22     2      name  Ljavax/management/ObjectName;
            7   22     3    mbeans  Ljava/util/Set<Ljavax/management/ObjectName;>;
            9   22     4    result  Ljava/util/Map<Ljavax/management/ObjectName;Ljavax/management/MBeanInfo;>;
           10   22     5  iterator  Ljava/util/Iterator<Ljavax/management/ObjectName;>;
           12   20     6    object  Ljava/lang/Object;
           14   20     7         o  Ljavax/management/ObjectName;
           15   16     8      info  Ljavax/management/MBeanInfo;
      Exception table:
        from    to  target  type
           2     3       4  Class javax.management.MalformedObjectNameException
          14    16      17  Class javax.management.IntrospectionException
          14    16      18  Class javax.management.InstanceNotFoundException
          14    16      19  Class javax.management.ReflectionException
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Map<Ljavax/management/ObjectName;Ljavax/management/MBeanInfo;>;
    MethodParameters:
        Name  Flags
      domain  

  public javax.management.AttributeList getAttributes(javax.management.ObjectName, java.lang.String[]);
    descriptor: (Ljavax/management/ObjectName;[Ljava/lang/String;)Ljavax/management/AttributeList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // javax.management.ObjectName name
        start local 2 // java.lang.String[] attributes
         0: .line 629
            aconst_null
            astore 3 /* list */
        start local 3 // javax.management.AttributeList list
         1: .line 631
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 1 /* name */
            aload 2 /* attributes */
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.getAttributes:(Ljavax/management/ObjectName;[Ljava/lang/String;)Ljavax/management/AttributeList;
            astore 3 /* list */
         2: .line 632
            goto 5
      StackMap locals: sun.tools.jconsole.ProxyClient javax.management.ObjectName java.lang.String[] javax.management.AttributeList
      StackMap stack: javax.management.InstanceNotFoundException
         3: pop
            goto 5
         4: .line 635
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            pop
         5: .line 638
      StackMap locals:
      StackMap stack:
            aload 3 /* list */
            areturn
        end local 3 // javax.management.AttributeList list
        end local 2 // java.lang.String[] attributes
        end local 1 // javax.management.ObjectName name
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lsun/tools/jconsole/ProxyClient;
            0    6     1        name  Ljavax/management/ObjectName;
            0    6     2  attributes  [Ljava/lang/String;
            1    6     3        list  Ljavax/management/AttributeList;
      Exception table:
        from    to  target  type
           1     2       3  Class javax.management.InstanceNotFoundException
           1     2       4  Class javax.management.ReflectionException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      name        
      attributes  

  public void setAttribute(javax.management.ObjectName, javax.management.Attribute);
    descriptor: (Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // javax.management.ObjectName name
        start local 2 // javax.management.Attribute attribute
         0: .line 649
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 1 /* name */
            aload 2 /* attribute */
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
         1: .line 650
            goto 6
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
         2: pop
            goto 6
         3: .line 652
      StackMap locals:
      StackMap stack: javax.management.AttributeNotFoundException
            pop
         4: .line 653
            getstatic sun.tools.jconsole.ProxyClient.$assertionsDisabled:Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 654
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            pop
         6: .line 657
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javax.management.Attribute attribute
        end local 1 // javax.management.ObjectName name
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lsun/tools/jconsole/ProxyClient;
            0    7     1       name  Ljavax/management/ObjectName;
            0    7     2  attribute  Ljavax/management/Attribute;
      Exception table:
        from    to  target  type
           0     1       2  Class javax.management.InstanceNotFoundException
           0     1       3  Class javax.management.AttributeNotFoundException
           0     1       5  Class javax.management.ReflectionException
    Exceptions:
      throws javax.management.InvalidAttributeValueException, javax.management.MBeanException, java.io.IOException
    MethodParameters:
           Name  Flags
      name       
      attribute  

  public java.lang.Object invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[]);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // javax.management.ObjectName name
        start local 2 // java.lang.String operationName
        start local 3 // java.lang.Object[] params
        start local 4 // java.lang.String[] signature
         0: .line 668
            aconst_null
            astore 5 /* result */
        start local 5 // java.lang.Object result
         1: .line 670
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 1 /* name */
            aload 2 /* operationName */
            aload 3 /* params */
            aload 4 /* signature */
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            astore 5 /* result */
         2: .line 671
            goto 5
      StackMap locals: sun.tools.jconsole.ProxyClient javax.management.ObjectName java.lang.String java.lang.Object[] java.lang.String[] java.lang.Object
      StackMap stack: javax.management.InstanceNotFoundException
         3: pop
            goto 5
         4: .line 673
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            pop
         5: .line 676
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 5 // java.lang.Object result
        end local 4 // java.lang.String[] signature
        end local 3 // java.lang.Object[] params
        end local 2 // java.lang.String operationName
        end local 1 // javax.management.ObjectName name
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lsun/tools/jconsole/ProxyClient;
            0    6     1           name  Ljavax/management/ObjectName;
            0    6     2  operationName  Ljava/lang/String;
            0    6     3         params  [Ljava/lang/Object;
            0    6     4      signature  [Ljava/lang/String;
            1    6     5         result  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     2       3  Class javax.management.InstanceNotFoundException
           1     2       4  Class javax.management.ReflectionException
    Exceptions:
      throws java.io.IOException, javax.management.MBeanException
    MethodParameters:
               Name  Flags
      name           
      operationName  
      params         
      signature      

  public synchronized java.lang.management.ClassLoadingMXBean getClassLoadingMXBean();
    descriptor: ()Ljava/lang/management/ClassLoadingMXBean;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 680
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
            ifeq 6
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.classLoadingMBean:Ljava/lang/management/ClassLoadingMXBean;
            ifnonnull 6
         1: .line 681
            aload 0 /* this */
         2: .line 682
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            ldc "java.lang:type=ClassLoading"
         3: .line 683
            ldc Ljava/lang/management/ClassLoadingMXBean;
         4: .line 682
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.management.ClassLoadingMXBean
         5: .line 681
            putfield sun.tools.jconsole.ProxyClient.classLoadingMBean:Ljava/lang/management/ClassLoadingMXBean;
         6: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.classLoadingMBean:Ljava/lang/management/ClassLoadingMXBean;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/tools/jconsole/ProxyClient;
    Exceptions:
      throws java.io.IOException

  public synchronized java.lang.management.CompilationMXBean getCompilationMXBean();
    descriptor: ()Ljava/lang/management/CompilationMXBean;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 689
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hasCompilationMXBean:Z
            ifeq 6
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.compilationMBean:Ljava/lang/management/CompilationMXBean;
            ifnonnull 6
         1: .line 690
            aload 0 /* this */
         2: .line 691
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            ldc "java.lang:type=Compilation"
         3: .line 692
            ldc Ljava/lang/management/CompilationMXBean;
         4: .line 691
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.management.CompilationMXBean
         5: .line 690
            putfield sun.tools.jconsole.ProxyClient.compilationMBean:Ljava/lang/management/CompilationMXBean;
         6: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.compilationMBean:Ljava/lang/management/CompilationMXBean;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/tools/jconsole/ProxyClient;
    Exceptions:
      throws java.io.IOException

  public java.util.Collection<sun.tools.jconsole.MemoryPoolProxy> getMemoryPoolProxies();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 701
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.memoryPoolProxies:Ljava/util/List;
            ifnonnull 15
         1: .line 702
            aconst_null
            astore 1 /* poolName */
        start local 1 // javax.management.ObjectName poolName
         2: .line 704
            new javax.management.ObjectName
            dup
            ldc "java.lang:type=MemoryPool,*"
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 1 /* poolName */
         3: .line 705
            goto 6
      StackMap locals: sun.tools.jconsole.ProxyClient javax.management.ObjectName
      StackMap stack: javax.management.MalformedObjectNameException
         4: pop
         5: .line 707
            getstatic sun.tools.jconsole.ProxyClient.$assertionsDisabled:Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 1 /* poolName */
            aconst_null
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.queryNames:(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;
            astore 2 /* mbeans */
        start local 2 // java.util.Set mbeans
         7: .line 710
            aload 2 /* mbeans */
            ifnull 15
         8: .line 711
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.tools.jconsole.ProxyClient.memoryPoolProxies:Ljava/util/List;
         9: .line 712
            aload 2 /* mbeans */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* iterator */
        start local 3 // java.util.Iterator iterator
        10: .line 713
            goto 14
        11: .line 714
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 4 /* objName */
        start local 4 // javax.management.ObjectName objName
        12: .line 715
            new sun.tools.jconsole.MemoryPoolProxy
            dup
            aload 0 /* this */
            aload 4 /* objName */
            invokespecial sun.tools.jconsole.MemoryPoolProxy.<init>:(Lsun/tools/jconsole/ProxyClient;Ljavax/management/ObjectName;)V
            astore 5 /* p */
        start local 5 // sun.tools.jconsole.MemoryPoolProxy p
        13: .line 716
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.memoryPoolProxies:Ljava/util/List;
            aload 5 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // sun.tools.jconsole.MemoryPoolProxy p
        end local 4 // javax.management.ObjectName objName
        14: .line 713
      StackMap locals:
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // java.util.Iterator iterator
        end local 2 // java.util.Set mbeans
        end local 1 // javax.management.ObjectName poolName
        15: .line 720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.memoryPoolProxies:Ljava/util/List;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lsun/tools/jconsole/ProxyClient;
            2   15     1  poolName  Ljavax/management/ObjectName;
            7   15     2    mbeans  Ljava/util/Set<Ljavax/management/ObjectName;>;
           10   15     3  iterator  Ljava/util/Iterator<Ljavax/management/ObjectName;>;
           12   14     4   objName  Ljavax/management/ObjectName;
           13   14     5         p  Lsun/tools/jconsole/MemoryPoolProxy;
      Exception table:
        from    to  target  type
           2     3       4  Class javax.management.MalformedObjectNameException
    Exceptions:
      throws java.io.IOException
    Signature: ()Ljava/util/Collection<Lsun/tools/jconsole/MemoryPoolProxy;>;

  public synchronized java.util.Collection<java.lang.management.GarbageCollectorMXBean> getGarbageCollectorMXBeans();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 727
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.garbageCollectorMBeans:Ljava/util/List;
            ifnonnull 21
         1: .line 728
            aconst_null
            astore 1 /* gcName */
        start local 1 // javax.management.ObjectName gcName
         2: .line 730
            new javax.management.ObjectName
            dup
            ldc "java.lang:type=GarbageCollector,*"
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 1 /* gcName */
         3: .line 731
            goto 6
      StackMap locals: sun.tools.jconsole.ProxyClient javax.management.ObjectName
      StackMap stack: javax.management.MalformedObjectNameException
         4: pop
         5: .line 733
            getstatic sun.tools.jconsole.ProxyClient.$assertionsDisabled:Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 1 /* gcName */
            aconst_null
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.queryNames:(Ljavax/management/ObjectName;Ljavax/management/QueryExp;)Ljava/util/Set;
            astore 2 /* mbeans */
        start local 2 // java.util.Set mbeans
         7: .line 736
            aload 2 /* mbeans */
            ifnull 21
         8: .line 737
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.tools.jconsole.ProxyClient.garbageCollectorMBeans:Ljava/util/List;
         9: .line 738
            aload 2 /* mbeans */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* iterator */
        start local 3 // java.util.Iterator iterator
        10: .line 739
            goto 20
        11: .line 740
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 4 /* on */
        start local 4 // javax.management.ObjectName on
        12: .line 741
            new java.lang.StringBuilder
            dup
            ldc "java.lang:type=GarbageCollector,name="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 742
            aload 4 /* on */
            ldc "name"
            invokevirtual javax.management.ObjectName.getKeyProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 741
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
        15: .line 745
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 5 /* name */
        16: .line 746
            ldc Ljava/lang/management/GarbageCollectorMXBean;
        17: .line 745
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.management.GarbageCollectorMXBean
        18: .line 744
            astore 6 /* mBean */
        start local 6 // java.lang.management.GarbageCollectorMXBean mBean
        19: .line 747
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.garbageCollectorMBeans:Ljava/util/List;
            aload 6 /* mBean */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.management.GarbageCollectorMXBean mBean
        end local 5 // java.lang.String name
        end local 4 // javax.management.ObjectName on
        20: .line 739
      StackMap locals:
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // java.util.Iterator iterator
        end local 2 // java.util.Set mbeans
        end local 1 // javax.management.ObjectName gcName
        21: .line 751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.garbageCollectorMBeans:Ljava/util/List;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lsun/tools/jconsole/ProxyClient;
            2   21     1    gcName  Ljavax/management/ObjectName;
            7   21     2    mbeans  Ljava/util/Set<Ljavax/management/ObjectName;>;
           10   21     3  iterator  Ljava/util/Iterator<Ljavax/management/ObjectName;>;
           12   20     4        on  Ljavax/management/ObjectName;
           15   20     5      name  Ljava/lang/String;
           19   20     6     mBean  Ljava/lang/management/GarbageCollectorMXBean;
      Exception table:
        from    to  target  type
           2     3       4  Class javax.management.MalformedObjectNameException
    Exceptions:
      throws java.io.IOException
    Signature: ()Ljava/util/Collection<Ljava/lang/management/GarbageCollectorMXBean;>;

  public synchronized java.lang.management.MemoryMXBean getMemoryMXBean();
    descriptor: ()Ljava/lang/management/MemoryMXBean;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 755
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
            ifeq 6
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.memoryMBean:Ljava/lang/management/MemoryMXBean;
            ifnonnull 6
         1: .line 756
            aload 0 /* this */
         2: .line 757
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            ldc "java.lang:type=Memory"
         3: .line 758
            ldc Ljava/lang/management/MemoryMXBean;
         4: .line 757
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.management.MemoryMXBean
         5: .line 756
            putfield sun.tools.jconsole.ProxyClient.memoryMBean:Ljava/lang/management/MemoryMXBean;
         6: .line 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.memoryMBean:Ljava/lang/management/MemoryMXBean;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/tools/jconsole/ProxyClient;
    Exceptions:
      throws java.io.IOException

  public synchronized java.lang.management.RuntimeMXBean getRuntimeMXBean();
    descriptor: ()Ljava/lang/management/RuntimeMXBean;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 764
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
            ifeq 6
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.runtimeMBean:Ljava/lang/management/RuntimeMXBean;
            ifnonnull 6
         1: .line 765
            aload 0 /* this */
         2: .line 766
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            ldc "java.lang:type=Runtime"
         3: .line 767
            ldc Ljava/lang/management/RuntimeMXBean;
         4: .line 766
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.management.RuntimeMXBean
         5: .line 765
            putfield sun.tools.jconsole.ProxyClient.runtimeMBean:Ljava/lang/management/RuntimeMXBean;
         6: .line 769
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.runtimeMBean:Ljava/lang/management/RuntimeMXBean;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/tools/jconsole/ProxyClient;
    Exceptions:
      throws java.io.IOException

  public synchronized java.lang.management.ThreadMXBean getThreadMXBean();
    descriptor: ()Ljava/lang/management/ThreadMXBean;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 774
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
            ifeq 6
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.threadMBean:Ljava/lang/management/ThreadMXBean;
            ifnonnull 6
         1: .line 775
            aload 0 /* this */
         2: .line 776
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            ldc "java.lang:type=Threading"
         3: .line 777
            ldc Ljava/lang/management/ThreadMXBean;
         4: .line 776
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.management.ThreadMXBean
         5: .line 775
            putfield sun.tools.jconsole.ProxyClient.threadMBean:Ljava/lang/management/ThreadMXBean;
         6: .line 779
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.threadMBean:Ljava/lang/management/ThreadMXBean;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/tools/jconsole/ProxyClient;
    Exceptions:
      throws java.io.IOException

  public synchronized java.lang.management.OperatingSystemMXBean getOperatingSystemMXBean();
    descriptor: ()Ljava/lang/management/OperatingSystemMXBean;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 783
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
            ifeq 6
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.operatingSystemMBean:Ljava/lang/management/OperatingSystemMXBean;
            ifnonnull 6
         1: .line 784
            aload 0 /* this */
         2: .line 785
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            ldc "java.lang:type=OperatingSystem"
         3: .line 786
            ldc Ljava/lang/management/OperatingSystemMXBean;
         4: .line 785
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.management.OperatingSystemMXBean
         5: .line 784
            putfield sun.tools.jconsole.ProxyClient.operatingSystemMBean:Ljava/lang/management/OperatingSystemMXBean;
         6: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.operatingSystemMBean:Ljava/lang/management/OperatingSystemMXBean;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/tools/jconsole/ProxyClient;
    Exceptions:
      throws java.io.IOException

  public synchronized com.sun.management.OperatingSystemMXBean getSunOperatingSystemMXBean();
    descriptor: ()Lcom/sun/management/OperatingSystemMXBean;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 795
            new javax.management.ObjectName
            dup
            ldc "java.lang:type=OperatingSystem"
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 1 /* on */
        start local 1 // javax.management.ObjectName on
         1: .line 796
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.sunOperatingSystemMXBean:Lcom/sun/management/OperatingSystemMXBean;
            ifnonnull 17
         2: .line 797
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 1 /* on */
         3: .line 798
            ldc "com.sun.management.OperatingSystemMXBean"
         4: .line 797
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.isInstanceOf:(Ljavax/management/ObjectName;Ljava/lang/String;)Z
         5: .line 798
            ifeq 17
         6: .line 799
            aload 0 /* this */
         7: .line 800
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
         8: .line 801
            ldc "java.lang:type=OperatingSystem"
         9: .line 802
            ldc Lcom/sun/management/OperatingSystemMXBean;
        10: .line 800
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.sun.management.OperatingSystemMXBean
        11: .line 799
            putfield sun.tools.jconsole.ProxyClient.sunOperatingSystemMXBean:Lcom/sun/management/OperatingSystemMXBean;
        end local 1 // javax.management.ObjectName on
        12: .line 805
            goto 17
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
        13: pop
        14: .line 806
            aconst_null
            areturn
        15: .line 807
      StackMap locals:
      StackMap stack: javax.management.MalformedObjectNameException
            pop
        16: .line 808
            aconst_null
            areturn
        17: .line 810
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.sunOperatingSystemMXBean:Lcom/sun/management/OperatingSystemMXBean;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lsun/tools/jconsole/ProxyClient;
            1   12     1    on  Ljavax/management/ObjectName;
      Exception table:
        from    to  target  type
           0    12      13  Class javax.management.InstanceNotFoundException
           0    12      15  Class javax.management.MalformedObjectNameException
    Exceptions:
      throws java.io.IOException

  public synchronized com.sun.management.HotSpotDiagnosticMXBean getHotSpotDiagnosticMXBean();
    descriptor: ()Lcom/sun/management/HotSpotDiagnosticMXBean;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 814
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hasHotSpotDiagnosticMXBean:Z
            ifeq 6
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hotspotDiagnosticMXBean:Lcom/sun/management/HotSpotDiagnosticMXBean;
            ifnonnull 6
         1: .line 815
            aload 0 /* this */
         2: .line 816
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            ldc "com.sun.management:type=HotSpotDiagnostic"
         3: .line 817
            ldc Lcom/sun/management/HotSpotDiagnosticMXBean;
         4: .line 816
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.sun.management.HotSpotDiagnosticMXBean
         5: .line 815
            putfield sun.tools.jconsole.ProxyClient.hotspotDiagnosticMXBean:Lcom/sun/management/HotSpotDiagnosticMXBean;
         6: .line 819
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hotspotDiagnosticMXBean:Lcom/sun/management/HotSpotDiagnosticMXBean;
            areturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/tools/jconsole/ProxyClient;
    Exceptions:
      throws java.io.IOException

  public <T> T getMXBean(javax.management.ObjectName, java.lang.Class<T>);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // javax.management.ObjectName objName
        start local 2 // java.lang.Class interfaceClass
         0: .line 824
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
         1: .line 825
            aload 1 /* objName */
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
         2: .line 826
            aload 2 /* interfaceClass */
         3: .line 824
            invokestatic java.lang.management.ManagementFactory.newPlatformMXBeanProxy:(Ljavax/management/MBeanServerConnection;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Class interfaceClass
        end local 1 // javax.management.ObjectName objName
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lsun/tools/jconsole/ProxyClient;
            0    4     1         objName  Ljavax/management/ObjectName;
            0    4     2  interfaceClass  Ljava/lang/Class<TT;>;
    Exceptions:
      throws java.io.IOException
    Signature: <T:Ljava/lang/Object;>(Ljavax/management/ObjectName;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
                Name  Flags
      objName         
      interfaceClass  

  public long[] findDeadlockedThreads();
    descriptor: ()[J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 835
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.getThreadMXBean:()Ljava/lang/management/ThreadMXBean;
            astore 1 /* tm */
        start local 1 // java.lang.management.ThreadMXBean tm
         1: .line 836
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.supportsLockUsage:Z
            ifeq 3
            aload 1 /* tm */
            invokeinterface java.lang.management.ThreadMXBean.isSynchronizerUsageSupported:()Z
            ifeq 3
         2: .line 837
            aload 1 /* tm */
            invokeinterface java.lang.management.ThreadMXBean.findDeadlockedThreads:()[J
            areturn
         3: .line 839
      StackMap locals: java.lang.management.ThreadMXBean
      StackMap stack:
            aload 1 /* tm */
            invokeinterface java.lang.management.ThreadMXBean.findMonitorDeadlockedThreads:()[J
            areturn
        end local 1 // java.lang.management.ThreadMXBean tm
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/tools/jconsole/ProxyClient;
            1    4     1    tm  Ljava/lang/management/ThreadMXBean;
    Exceptions:
      throws java.io.IOException

  public synchronized void markAsDead();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 844
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.disconnect:()V
         1: .line 845
            return
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/jconsole/ProxyClient;

  public boolean isDead();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 848
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.isDead:Z
            ireturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  boolean isConnected();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 852
            aload 0 /* this */
            invokevirtual sun.tools.jconsole.ProxyClient.isDead:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/jconsole/ProxyClient;

  boolean hasPlatformMXBeans();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 856
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hasPlatformMXBeans:Z
            ireturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  boolean hasHotSpotDiagnosticMXBean();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 860
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.hasHotSpotDiagnosticMXBean:Z
            ireturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  boolean isLockUsageSupported();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jconsole.ProxyClient this
         0: .line 864
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.supportsLockUsage:Z
            ireturn
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;

  public boolean isRegistered(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // javax.management.ObjectName name
         0: .line 868
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.server:Lsun/tools/jconsole/ProxyClient$SnapshotMBeanServerConnection;
            aload 1 /* name */
            invokeinterface sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection.isRegistered:(Ljavax/management/ObjectName;)Z
            ireturn
        end local 1 // javax.management.ObjectName name
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jconsole/ProxyClient;
            0    1     1  name  Ljavax/management/ObjectName;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  public void addPropertyChangeListener(java.beans.PropertyChangeListener);
    descriptor: (Ljava/beans/PropertyChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // java.beans.PropertyChangeListener listener
         0: .line 872
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.propertyChangeSupport:Ljavax/swing/event/SwingPropertyChangeSupport;
            aload 1 /* listener */
            invokevirtual javax.swing.event.SwingPropertyChangeSupport.addPropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         1: .line 873
            return
        end local 1 // java.beans.PropertyChangeListener listener
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/tools/jconsole/ProxyClient;
            0    2     1  listener  Ljava/beans/PropertyChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  public void addWeakPropertyChangeListener(java.beans.PropertyChangeListener);
    descriptor: (Ljava/beans/PropertyChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // java.beans.PropertyChangeListener listener
         0: .line 876
            aload 1 /* listener */
            instanceof sun.tools.jconsole.ProxyClient$WeakPCL
            ifne 2
         1: .line 877
            new sun.tools.jconsole.ProxyClient$WeakPCL
            dup
            aload 0 /* this */
            aload 1 /* listener */
            invokespecial sun.tools.jconsole.ProxyClient$WeakPCL.<init>:(Lsun/tools/jconsole/ProxyClient;Ljava/beans/PropertyChangeListener;)V
            astore 1 /* listener */
         2: .line 879
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.propertyChangeSupport:Ljavax/swing/event/SwingPropertyChangeSupport;
            aload 1 /* listener */
            invokevirtual javax.swing.event.SwingPropertyChangeSupport.addPropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         3: .line 880
            return
        end local 1 // java.beans.PropertyChangeListener listener
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/tools/jconsole/ProxyClient;
            0    4     1  listener  Ljava/beans/PropertyChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removePropertyChangeListener(java.beans.PropertyChangeListener);
    descriptor: (Ljava/beans/PropertyChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // sun.tools.jconsole.ProxyClient this
        start local 1 // java.beans.PropertyChangeListener listener
         0: .line 883
            aload 1 /* listener */
            instanceof sun.tools.jconsole.ProxyClient$WeakPCL
            ifne 8
         1: .line 885
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.propertyChangeSupport:Ljavax/swing/event/SwingPropertyChangeSupport;
            invokevirtual javax.swing.event.SwingPropertyChangeSupport.getPropertyChangeListeners:()[Ljava/beans/PropertyChangeListener;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: sun.tools.jconsole.ProxyClient java.beans.PropertyChangeListener top int int java.beans.PropertyChangeListener[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* pcl */
        start local 2 // java.beans.PropertyChangeListener pcl
         3: .line 886
            aload 2 /* pcl */
            instanceof sun.tools.jconsole.ProxyClient$WeakPCL
            ifeq 6
            aload 2 /* pcl */
            checkcast sun.tools.jconsole.ProxyClient$WeakPCL
            invokevirtual sun.tools.jconsole.ProxyClient$WeakPCL.get:()Ljava/lang/Object;
            aload 1 /* listener */
            if_acmpne 6
         4: .line 887
            aload 2 /* pcl */
            astore 1 /* listener */
         5: .line 888
            goto 8
        end local 2 // java.beans.PropertyChangeListener pcl
         6: .line 885
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 2
         8: .line 892
      StackMap locals: sun.tools.jconsole.ProxyClient java.beans.PropertyChangeListener
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jconsole.ProxyClient.propertyChangeSupport:Ljavax/swing/event/SwingPropertyChangeSupport;
            aload 1 /* listener */
            invokevirtual javax.swing.event.SwingPropertyChangeSupport.removePropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
         9: .line 893
            return
        end local 1 // java.beans.PropertyChangeListener listener
        end local 0 // sun.tools.jconsole.ProxyClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lsun/tools/jconsole/ProxyClient;
            0   10     1  listener  Ljava/beans/PropertyChangeListener;
            3    6     2       pcl  Ljava/beans/PropertyChangeListener;
    MethodParameters:
          Name  Flags
      listener  
}
SourceFile: "ProxyClient.java"
NestMembers:
  sun.tools.jconsole.ProxyClient$Snapshot  sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler  sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler$NameValueMap  sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection  sun.tools.jconsole.ProxyClient$WeakPCL
InnerClasses:
  public final ConnectionState = com.sun.tools.jconsole.JConsoleContext$ConnectionState of com.sun.tools.jconsole.JConsoleContext
  public Snapshot = sun.tools.jconsole.ProxyClient$Snapshot of sun.tools.jconsole.ProxyClient
  SnapshotInvocationHandler = sun.tools.jconsole.ProxyClient$SnapshotInvocationHandler of sun.tools.jconsole.ProxyClient
  public abstract SnapshotMBeanServerConnection = sun.tools.jconsole.ProxyClient$SnapshotMBeanServerConnection of sun.tools.jconsole.ProxyClient
  private WeakPCL = sun.tools.jconsole.ProxyClient$WeakPCL of sun.tools.jconsole.ProxyClient