class sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory extends javax.rmi.ssl.SslRMIServerSocketFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory
  super_class: javax.rmi.ssl.SslRMIServerSocketFactory
{
  private final java.lang.String bindAddress;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final boolean needClientAuth;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.net.ssl.SSLContext context;
    descriptor: Ljavax/net/ssl/SSLContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(java.lang.String[], java.lang.String[], boolean, java.lang.String);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;ZLjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory this
        start local 1 // java.lang.String[] enabledCipherSuites
        start local 2 // java.lang.String[] enabledProtocols
        start local 3 // boolean sslNeedClientAuth
        start local 4 // java.lang.String bindAddress
         0: .line 885
            aload 0 /* this */
            aconst_null
            aload 1 /* enabledCipherSuites */
            aload 2 /* enabledProtocols */
            iload 3 /* sslNeedClientAuth */
            aload 4 /* bindAddress */
            invokespecial sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.<init>:(Ljavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;ZLjava/lang/String;)V
         1: .line 886
            return
        end local 4 // java.lang.String bindAddress
        end local 3 // boolean sslNeedClientAuth
        end local 2 // java.lang.String[] enabledProtocols
        end local 1 // java.lang.String[] enabledCipherSuites
        end local 0 // sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lsun/management/jmxremote/ConnectorBootstrap$HostAwareSslSocketFactory;
            0    2     1  enabledCipherSuites  [Ljava/lang/String;
            0    2     2     enabledProtocols  [Ljava/lang/String;
            0    2     3    sslNeedClientAuth  Z
            0    2     4          bindAddress  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
                     Name  Flags
      enabledCipherSuites  
      enabledProtocols     
      sslNeedClientAuth    
      bindAddress          

  private void <init>(javax.net.ssl.SSLContext, java.lang.String[], java.lang.String[], boolean, java.lang.String);
    descriptor: (Ljavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;ZLjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory this
        start local 1 // javax.net.ssl.SSLContext ctx
        start local 2 // java.lang.String[] enabledCipherSuites
        start local 3 // java.lang.String[] enabledProtocols
        start local 4 // boolean sslNeedClientAuth
        start local 5 // java.lang.String bindAddress
         0: .line 888
            aload 0 /* this */
            invokespecial javax.rmi.ssl.SslRMIServerSocketFactory.<init>:()V
         1: .line 893
            aload 0 /* this */
            aload 1 /* ctx */
            putfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.context:Ljavax/net/ssl/SSLContext;
         2: .line 894
            aload 0 /* this */
            aload 5 /* bindAddress */
            putfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.bindAddress:Ljava/lang/String;
         3: .line 895
            aload 0 /* this */
            aload 3 /* enabledProtocols */
            putfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.enabledProtocols:[Ljava/lang/String;
         4: .line 896
            aload 0 /* this */
            aload 2 /* enabledCipherSuites */
            putfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.enabledCipherSuites:[Ljava/lang/String;
         5: .line 897
            aload 0 /* this */
            iload 4 /* sslNeedClientAuth */
            putfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.needClientAuth:Z
         6: .line 898
            aload 1 /* ctx */
            aload 2 /* enabledCipherSuites */
            aload 3 /* enabledProtocols */
            invokestatic sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.checkValues:(Ljavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;)V
         7: .line 899
            return
        end local 5 // java.lang.String bindAddress
        end local 4 // boolean sslNeedClientAuth
        end local 3 // java.lang.String[] enabledProtocols
        end local 2 // java.lang.String[] enabledCipherSuites
        end local 1 // javax.net.ssl.SSLContext ctx
        end local 0 // sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Lsun/management/jmxremote/ConnectorBootstrap$HostAwareSslSocketFactory;
            0    8     1                  ctx  Ljavax/net/ssl/SSLContext;
            0    8     2  enabledCipherSuites  [Ljava/lang/String;
            0    8     3     enabledProtocols  [Ljava/lang/String;
            0    8     4    sslNeedClientAuth  Z
            0    8     5          bindAddress  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
                     Name  Flags
      ctx                  
      enabledCipherSuites  
      enabledProtocols     
      sslNeedClientAuth    
      bindAddress          

  public java.net.ServerSocket createServerSocket(int);
    descriptor: (I)Ljava/net/ServerSocket;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory this
        start local 1 // int port
         0: .line 903
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.bindAddress:Ljava/lang/String;
            ifnull 10
         1: .line 905
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.bindAddress:Ljava/lang/String;
            invokestatic java.net.InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress;
            astore 2 /* addr */
        start local 2 // java.net.InetAddress addr
         2: .line 906
            new sun.management.jmxremote.ConnectorBootstrap$SslServerSocket
            dup
            iload 1 /* port */
            iconst_0
            aload 2 /* addr */
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.context:Ljavax/net/ssl/SSLContext;
         3: .line 907
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.enabledCipherSuites:[Ljava/lang/String;
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.enabledProtocols:[Ljava/lang/String;
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.needClientAuth:Z
         4: .line 906
            invokespecial sun.management.jmxremote.ConnectorBootstrap$SslServerSocket.<init>:(IILjava/net/InetAddress;Ljavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;Z)V
         5: areturn
        end local 2 // java.net.InetAddress addr
         6: .line 908
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
            pop
         7: .line 909
            new sun.management.jmxremote.ConnectorBootstrap$SslServerSocket
            dup
            iload 1 /* port */
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.context:Ljavax/net/ssl/SSLContext;
         8: .line 910
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.enabledCipherSuites:[Ljava/lang/String;
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.enabledProtocols:[Ljava/lang/String;
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.needClientAuth:Z
         9: .line 909
            invokespecial sun.management.jmxremote.ConnectorBootstrap$SslServerSocket.<init>:(ILjavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;Z)V
            areturn
        10: .line 913
      StackMap locals:
      StackMap stack:
            new sun.management.jmxremote.ConnectorBootstrap$SslServerSocket
            dup
            iload 1 /* port */
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.context:Ljavax/net/ssl/SSLContext;
        11: .line 914
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.enabledCipherSuites:[Ljava/lang/String;
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.enabledProtocols:[Ljava/lang/String;
            aload 0 /* this */
            getfield sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory.needClientAuth:Z
        12: .line 913
            invokespecial sun.management.jmxremote.ConnectorBootstrap$SslServerSocket.<init>:(ILjavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;Z)V
            areturn
        end local 1 // int port
        end local 0 // sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/management/jmxremote/ConnectorBootstrap$HostAwareSslSocketFactory;
            0   13     1  port  I
            2    6     2  addr  Ljava/net/InetAddress;
      Exception table:
        from    to  target  type
           1     5       6  Class java.net.UnknownHostException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      port  

  private static void checkValues(javax.net.ssl.SSLContext, java.lang.String[], java.lang.String[]);
    descriptor: (Ljavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // javax.net.ssl.SSLContext context
        start local 1 // java.lang.String[] enabledCipherSuites
        start local 2 // java.lang.String[] enabledProtocols
         0: .line 926
            aload 0 /* context */
            ifnonnull 2
         1: .line 927
            invokestatic javax.net.ssl.SSLSocketFactory.getDefault:()Ljavax/net/SocketFactory;
            checkcast javax.net.ssl.SSLSocketFactory
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* context */
            invokevirtual javax.net.ssl.SSLContext.getSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
         3: .line 925
      StackMap locals:
      StackMap stack: javax.net.ssl.SSLSocketFactory
            astore 3 /* sslSocketFactory */
        start local 3 // javax.net.ssl.SSLSocketFactory sslSocketFactory
         4: .line 928
            aconst_null
            astore 4 /* sslSocket */
        start local 4 // javax.net.ssl.SSLSocket sslSocket
         5: .line 929
            aload 1 /* enabledCipherSuites */
            ifnonnull 6
            aload 2 /* enabledProtocols */
            ifnull 11
         6: .line 931
      StackMap locals: javax.net.ssl.SSLSocketFactory javax.net.ssl.SSLSocket
      StackMap stack:
            aload 3 /* sslSocketFactory */
            invokevirtual javax.net.ssl.SSLSocketFactory.createSocket:()Ljava/net/Socket;
            checkcast javax.net.ssl.SSLSocket
            astore 4 /* sslSocket */
         7: .line 932
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Exception
         8: astore 5 /* e */
        start local 5 // java.lang.Exception e
         9: .line 936
            new java.lang.IllegalArgumentException
            dup
            ldc "Unable to check if the cipher suites and protocols to enable are supported"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            aload 5 /* e */
            invokevirtual java.lang.IllegalArgumentException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        10: .line 935
            checkcast java.lang.IllegalArgumentException
            athrow
        end local 5 // java.lang.Exception e
        11: .line 944
      StackMap locals:
      StackMap stack:
            aload 1 /* enabledCipherSuites */
            ifnull 13
        12: .line 945
            aload 4 /* sslSocket */
            aload 1 /* enabledCipherSuites */
            invokevirtual javax.net.ssl.SSLSocket.setEnabledCipherSuites:([Ljava/lang/String;)V
        13: .line 947
      StackMap locals:
      StackMap stack:
            aload 2 /* enabledProtocols */
            ifnull 15
        14: .line 948
            aload 4 /* sslSocket */
            aload 2 /* enabledProtocols */
            invokevirtual javax.net.ssl.SSLSocket.setEnabledProtocols:([Ljava/lang/String;)V
        15: .line 950
      StackMap locals:
      StackMap stack:
            return
        end local 4 // javax.net.ssl.SSLSocket sslSocket
        end local 3 // javax.net.ssl.SSLSocketFactory sslSocketFactory
        end local 2 // java.lang.String[] enabledProtocols
        end local 1 // java.lang.String[] enabledCipherSuites
        end local 0 // javax.net.ssl.SSLContext context
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   16     0              context  Ljavax/net/ssl/SSLContext;
            0   16     1  enabledCipherSuites  [Ljava/lang/String;
            0   16     2     enabledProtocols  [Ljava/lang/String;
            4   16     3     sslSocketFactory  Ljavax/net/ssl/SSLSocketFactory;
            5   16     4            sslSocket  Ljavax/net/ssl/SSLSocket;
            9   11     5                    e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.Exception
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
                     Name  Flags
      context              
      enabledCipherSuites  
      enabledProtocols     
}
SourceFile: "ConnectorBootstrap.java"
NestHost: sun.management.jmxremote.ConnectorBootstrap
InnerClasses:
  private HostAwareSslSocketFactory = sun.management.jmxremote.ConnectorBootstrap$HostAwareSslSocketFactory of sun.management.jmxremote.ConnectorBootstrap
  private SslServerSocket = sun.management.jmxremote.ConnectorBootstrap$SslServerSocket of sun.management.jmxremote.ConnectorBootstrap