class sun.net.httpserver.SSLStreams
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.net.httpserver.SSLStreams
  super_class: java.lang.Object
{
  javax.net.ssl.SSLContext sslctx;
    descriptor: Ljavax/net/ssl/SSLContext;
    flags: (0x0000) 

  java.nio.channels.SocketChannel chan;
    descriptor: Ljava/nio/channels/SocketChannel;
    flags: (0x0000) 

  sun.net.httpserver.TimeSource time;
    descriptor: Lsun/net/httpserver/TimeSource;
    flags: (0x0000) 

  sun.net.httpserver.ServerImpl server;
    descriptor: Lsun/net/httpserver/ServerImpl;
    flags: (0x0000) 

  javax.net.ssl.SSLEngine engine;
    descriptor: Ljavax/net/ssl/SSLEngine;
    flags: (0x0000) 

  sun.net.httpserver.SSLStreams$EngineWrapper wrapper;
    descriptor: Lsun/net/httpserver/SSLStreams$EngineWrapper;
    flags: (0x0000) 

  sun.net.httpserver.SSLStreams$OutputStream os;
    descriptor: Lsun/net/httpserver/SSLStreams$OutputStream;
    flags: (0x0000) 

  sun.net.httpserver.SSLStreams$InputStream is;
    descriptor: Lsun/net/httpserver/SSLStreams$InputStream;
    flags: (0x0000) 

  java.util.concurrent.locks.Lock handshaking;
    descriptor: Ljava/util/concurrent/locks/Lock;
    flags: (0x0000) 

  int app_buf_size;
    descriptor: I
    flags: (0x0000) 

  int packet_buf_size;
    descriptor: I
    flags: (0x0000) 

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

  private static volatile int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 43
            ldc Lsun/net/httpserver/SSLStreams;
            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.net.httpserver.SSLStreams.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(sun.net.httpserver.ServerImpl, javax.net.ssl.SSLContext, java.nio.channels.SocketChannel);
    descriptor: (Lsun/net/httpserver/ServerImpl;Ljavax/net/ssl/SSLContext;Ljava/nio/channels/SocketChannel;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // sun.net.httpserver.SSLStreams this
        start local 1 // sun.net.httpserver.ServerImpl server
        start local 2 // javax.net.ssl.SSLContext sslctx
        start local 3 // java.nio.channels.SocketChannel chan
         0: .line 57
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
            putfield sun.net.httpserver.SSLStreams.handshaking:Ljava/util/concurrent/locks/Lock;
         2: .line 58
            aload 0 /* this */
            aload 1 /* server */
            putfield sun.net.httpserver.SSLStreams.server:Lsun/net/httpserver/ServerImpl;
         3: .line 59
            aload 0 /* this */
            aload 1 /* server */
            putfield sun.net.httpserver.SSLStreams.time:Lsun/net/httpserver/TimeSource;
         4: .line 60
            aload 0 /* this */
            aload 2 /* sslctx */
            putfield sun.net.httpserver.SSLStreams.sslctx:Ljavax/net/ssl/SSLContext;
         5: .line 61
            aload 0 /* this */
            aload 3 /* chan */
            putfield sun.net.httpserver.SSLStreams.chan:Ljava/nio/channels/SocketChannel;
         6: .line 63
            aload 3 /* chan */
            invokevirtual java.nio.channels.SocketChannel.socket:()Ljava/net/Socket;
            invokevirtual java.net.Socket.getRemoteSocketAddress:()Ljava/net/SocketAddress;
            checkcast java.net.InetSocketAddress
         7: .line 62
            astore 4 /* addr */
        start local 4 // java.net.InetSocketAddress addr
         8: .line 64
            aload 0 /* this */
            aload 2 /* sslctx */
            aload 4 /* addr */
            invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
            aload 4 /* addr */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokevirtual javax.net.ssl.SSLContext.createSSLEngine:(Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;
            putfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
         9: .line 65
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
            iconst_0
            invokevirtual javax.net.ssl.SSLEngine.setUseClientMode:(Z)V
        10: .line 66
            aload 1 /* server */
            invokevirtual sun.net.httpserver.ServerImpl.getHttpsConfigurator:()Lcom/sun/net/httpserver/HttpsConfigurator;
            astore 5 /* cfg */
        start local 5 // com.sun.net.httpserver.HttpsConfigurator cfg
        11: .line 67
            aload 0 /* this */
            aload 5 /* cfg */
            aload 4 /* addr */
            invokevirtual sun.net.httpserver.SSLStreams.configureEngine:(Lcom/sun/net/httpserver/HttpsConfigurator;Ljava/net/InetSocketAddress;)V
        12: .line 68
            aload 0 /* this */
            new sun.net.httpserver.SSLStreams$EngineWrapper
            dup
            aload 0 /* this */
            aload 3 /* chan */
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
            invokespecial sun.net.httpserver.SSLStreams$EngineWrapper.<init>:(Lsun/net/httpserver/SSLStreams;Ljava/nio/channels/SocketChannel;Ljavax/net/ssl/SSLEngine;)V
            putfield sun.net.httpserver.SSLStreams.wrapper:Lsun/net/httpserver/SSLStreams$EngineWrapper;
        13: .line 69
            return
        end local 5 // com.sun.net.httpserver.HttpsConfigurator cfg
        end local 4 // java.net.InetSocketAddress addr
        end local 3 // java.nio.channels.SocketChannel chan
        end local 2 // javax.net.ssl.SSLContext sslctx
        end local 1 // sun.net.httpserver.ServerImpl server
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lsun/net/httpserver/SSLStreams;
            0   14     1  server  Lsun/net/httpserver/ServerImpl;
            0   14     2  sslctx  Ljavax/net/ssl/SSLContext;
            0   14     3    chan  Ljava/nio/channels/SocketChannel;
            8   14     4    addr  Ljava/net/InetSocketAddress;
           11   14     5     cfg  Lcom/sun/net/httpserver/HttpsConfigurator;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      server  
      sslctx  
      chan    

  private void configureEngine(com.sun.net.httpserver.HttpsConfigurator, java.net.InetSocketAddress);
    descriptor: (Lcom/sun/net/httpserver/HttpsConfigurator;Ljava/net/InetSocketAddress;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.net.httpserver.SSLStreams this
        start local 1 // com.sun.net.httpserver.HttpsConfigurator cfg
        start local 2 // java.net.InetSocketAddress addr
         0: .line 72
            aload 1 /* cfg */
            ifnull 21
         1: .line 73
            new sun.net.httpserver.SSLStreams$Parameters
            dup
            aload 0 /* this */
            aload 1 /* cfg */
            aload 2 /* addr */
            invokespecial sun.net.httpserver.SSLStreams$Parameters.<init>:(Lsun/net/httpserver/SSLStreams;Lcom/sun/net/httpserver/HttpsConfigurator;Ljava/net/InetSocketAddress;)V
            astore 3 /* params */
        start local 3 // sun.net.httpserver.SSLStreams$Parameters params
         2: .line 75
            aload 1 /* cfg */
            aload 3 /* params */
            invokevirtual com.sun.net.httpserver.HttpsConfigurator.configure:(Lcom/sun/net/httpserver/HttpsParameters;)V
         3: .line 76
            aload 3 /* params */
            invokevirtual sun.net.httpserver.SSLStreams$Parameters.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
            astore 4 /* sslParams */
        start local 4 // javax.net.ssl.SSLParameters sslParams
         4: .line 77
            aload 4 /* sslParams */
            ifnull 7
         5: .line 78
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
            aload 4 /* sslParams */
            invokevirtual javax.net.ssl.SSLEngine.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
         6: .line 79
            goto 21
         7: .line 83
      StackMap locals: sun.net.httpserver.SSLStreams$Parameters javax.net.ssl.SSLParameters
      StackMap stack:
            aload 3 /* params */
            invokevirtual sun.net.httpserver.SSLStreams$Parameters.getCipherSuites:()[Ljava/lang/String;
            ifnull 13
         8: .line 85
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
         9: .line 86
            aload 3 /* params */
            invokevirtual sun.net.httpserver.SSLStreams$Parameters.getCipherSuites:()[Ljava/lang/String;
        10: .line 85
            invokevirtual javax.net.ssl.SSLEngine.setEnabledCipherSuites:([Ljava/lang/String;)V
        11: .line 88
            goto 13
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        12: pop
        13: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
            aload 3 /* params */
            invokevirtual sun.net.httpserver.SSLStreams$Parameters.getNeedClientAuth:()Z
            invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
        14: .line 91
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
            aload 3 /* params */
            invokevirtual sun.net.httpserver.SSLStreams$Parameters.getWantClientAuth:()Z
            invokevirtual javax.net.ssl.SSLEngine.setWantClientAuth:(Z)V
        15: .line 92
            aload 3 /* params */
            invokevirtual sun.net.httpserver.SSLStreams$Parameters.getProtocols:()[Ljava/lang/String;
            ifnull 21
        16: .line 94
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
        17: .line 95
            aload 3 /* params */
            invokevirtual sun.net.httpserver.SSLStreams$Parameters.getProtocols:()[Ljava/lang/String;
        18: .line 94
            invokevirtual javax.net.ssl.SSLEngine.setEnabledProtocols:([Ljava/lang/String;)V
        19: .line 97
            goto 21
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        20: pop
        end local 4 // javax.net.ssl.SSLParameters sslParams
        end local 3 // sun.net.httpserver.SSLStreams$Parameters params
        21: .line 101
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.net.InetSocketAddress addr
        end local 1 // com.sun.net.httpserver.HttpsConfigurator cfg
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lsun/net/httpserver/SSLStreams;
            0   22     1        cfg  Lcom/sun/net/httpserver/HttpsConfigurator;
            0   22     2       addr  Ljava/net/InetSocketAddress;
            2   21     3     params  Lsun/net/httpserver/SSLStreams$Parameters;
            4   21     4  sslParams  Ljavax/net/ssl/SSLParameters;
      Exception table:
        from    to  target  type
           8    11      12  Class java.lang.IllegalArgumentException
          16    19      20  Class java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      cfg   
      addr  

  void close();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.net.httpserver.SSLStreams this
         0: .line 132
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.wrapper:Lsun/net/httpserver/SSLStreams$EngineWrapper;
            invokevirtual sun.net.httpserver.SSLStreams$EngineWrapper.close:()V
         1: .line 133
            return
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/net/httpserver/SSLStreams;
    Exceptions:
      throws java.io.IOException

  sun.net.httpserver.SSLStreams$InputStream getInputStream();
    descriptor: ()Lsun/net/httpserver/SSLStreams$InputStream;
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.net.httpserver.SSLStreams this
         0: .line 139
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.is:Lsun/net/httpserver/SSLStreams$InputStream;
            ifnonnull 2
         1: .line 140
            aload 0 /* this */
            new sun.net.httpserver.SSLStreams$InputStream
            dup
            aload 0 /* this */
            invokespecial sun.net.httpserver.SSLStreams$InputStream.<init>:(Lsun/net/httpserver/SSLStreams;)V
            putfield sun.net.httpserver.SSLStreams.is:Lsun/net/httpserver/SSLStreams$InputStream;
         2: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.is:Lsun/net/httpserver/SSLStreams$InputStream;
            areturn
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/net/httpserver/SSLStreams;
    Exceptions:
      throws java.io.IOException

  sun.net.httpserver.SSLStreams$OutputStream getOutputStream();
    descriptor: ()Lsun/net/httpserver/SSLStreams$OutputStream;
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.net.httpserver.SSLStreams this
         0: .line 149
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.os:Lsun/net/httpserver/SSLStreams$OutputStream;
            ifnonnull 2
         1: .line 150
            aload 0 /* this */
            new sun.net.httpserver.SSLStreams$OutputStream
            dup
            aload 0 /* this */
            invokespecial sun.net.httpserver.SSLStreams$OutputStream.<init>:(Lsun/net/httpserver/SSLStreams;)V
            putfield sun.net.httpserver.SSLStreams.os:Lsun/net/httpserver/SSLStreams$OutputStream;
         2: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.os:Lsun/net/httpserver/SSLStreams$OutputStream;
            areturn
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/net/httpserver/SSLStreams;
    Exceptions:
      throws java.io.IOException

  javax.net.ssl.SSLEngine getSSLEngine();
    descriptor: ()Ljavax/net/ssl/SSLEngine;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.net.httpserver.SSLStreams this
         0: .line 156
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
            areturn
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/net/httpserver/SSLStreams;

  void beginHandshake();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.net.httpserver.SSLStreams this
         0: .line 165
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.beginHandshake:()V
         1: .line 166
            return
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/net/httpserver/SSLStreams;
    Exceptions:
      throws javax.net.ssl.SSLException

  private java.nio.ByteBuffer allocate(sun.net.httpserver.SSLStreams$BufType);
    descriptor: (Lsun/net/httpserver/SSLStreams$BufType;)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.net.httpserver.SSLStreams this
        start local 1 // sun.net.httpserver.SSLStreams$BufType type
         0: .line 185
            aload 0 /* this */
            aload 1 /* type */
            iconst_m1
            invokevirtual sun.net.httpserver.SSLStreams.allocate:(Lsun/net/httpserver/SSLStreams$BufType;I)Ljava/nio/ByteBuffer;
            areturn
        end local 1 // sun.net.httpserver.SSLStreams$BufType type
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/net/httpserver/SSLStreams;
            0    1     1  type  Lsun/net/httpserver/SSLStreams$BufType;
    MethodParameters:
      Name  Flags
      type  

  private java.nio.ByteBuffer allocate(sun.net.httpserver.SSLStreams$BufType, int);
    descriptor: (Lsun/net/httpserver/SSLStreams$BufType;I)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // sun.net.httpserver.SSLStreams this
        start local 1 // sun.net.httpserver.SSLStreams$BufType type
        start local 2 // int len
         0: .line 189
            getstatic sun.net.httpserver.SSLStreams.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         2: .line 192
            aload 1 /* type */
            getstatic sun.net.httpserver.SSLStreams$BufType.PACKET:Lsun/net/httpserver/SSLStreams$BufType;
            if_acmpne 10
         3: .line 193
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.packet_buf_size:I
            ifne 6
         4: .line 194
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
            astore 5 /* sess */
        start local 5 // javax.net.ssl.SSLSession sess
         5: .line 195
            aload 0 /* this */
            aload 5 /* sess */
            invokeinterface javax.net.ssl.SSLSession.getPacketBufferSize:()I
            putfield sun.net.httpserver.SSLStreams.packet_buf_size:I
        end local 5 // javax.net.ssl.SSLSession sess
         6: .line 197
      StackMap locals: sun.net.httpserver.SSLStreams
      StackMap stack:
            iload 2 /* len */
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.packet_buf_size:I
            if_icmple 8
         7: .line 198
            aload 0 /* this */
            iload 2 /* len */
            putfield sun.net.httpserver.SSLStreams.packet_buf_size:I
         8: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.packet_buf_size:I
            istore 4 /* size */
        start local 4 // int size
         9: .line 201
            goto 16
        end local 4 // int size
        10: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.app_buf_size:I
            ifne 13
        11: .line 203
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
            astore 5 /* sess */
        start local 5 // javax.net.ssl.SSLSession sess
        12: .line 204
            aload 0 /* this */
            aload 5 /* sess */
            invokeinterface javax.net.ssl.SSLSession.getApplicationBufferSize:()I
            putfield sun.net.httpserver.SSLStreams.app_buf_size:I
        end local 5 // javax.net.ssl.SSLSession sess
        13: .line 206
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.app_buf_size:I
            if_icmple 15
        14: .line 207
            aload 0 /* this */
            iload 2 /* len */
            putfield sun.net.httpserver.SSLStreams.app_buf_size:I
        15: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.app_buf_size:I
            istore 4 /* size */
        start local 4 // int size
        16: .line 211
      StackMap locals: int
      StackMap stack:
            iload 4 /* size */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            aload 3
            monitorexit
        17: areturn
        end local 4 // int size
        18: .line 190
      StackMap locals: sun.net.httpserver.SSLStreams sun.net.httpserver.SSLStreams$BufType int sun.net.httpserver.SSLStreams
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        19: athrow
        end local 2 // int len
        end local 1 // sun.net.httpserver.SSLStreams$BufType type
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lsun/net/httpserver/SSLStreams;
            0   20     1  type  Lsun/net/httpserver/SSLStreams$BufType;
            0   20     2   len  I
            9   10     4  size  I
           16   18     4  size  I
            5    6     5  sess  Ljavax/net/ssl/SSLSession;
           12   13     5  sess  Ljavax/net/ssl/SSLSession;
      Exception table:
        from    to  target  type
           2    17      18  any
          18    19      18  any
    MethodParameters:
      Name  Flags
      type  
      len   

  private java.nio.ByteBuffer realloc(java.nio.ByteBuffer, boolean, sun.net.httpserver.SSLStreams$BufType);
    descriptor: (Ljava/nio/ByteBuffer;ZLsun/net/httpserver/SSLStreams$BufType;)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // sun.net.httpserver.SSLStreams this
        start local 1 // java.nio.ByteBuffer b
        start local 2 // boolean flip
        start local 3 // sun.net.httpserver.SSLStreams$BufType type
         0: .line 224
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         1: .line 225
            iconst_2
            aload 1 /* b */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            imul
            istore 5 /* nsize */
        start local 5 // int nsize
         2: .line 226
            aload 0 /* this */
            aload 3 /* type */
            iload 5 /* nsize */
            invokevirtual sun.net.httpserver.SSLStreams.allocate:(Lsun/net/httpserver/SSLStreams$BufType;I)Ljava/nio/ByteBuffer;
            astore 6 /* n */
        start local 6 // java.nio.ByteBuffer n
         3: .line 227
            iload 2 /* flip */
            ifeq 5
         4: .line 228
            aload 1 /* b */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
            pop
         5: .line 230
      StackMap locals: sun.net.httpserver.SSLStreams int java.nio.ByteBuffer
      StackMap stack:
            aload 6 /* n */
            aload 1 /* b */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
         6: .line 231
            aload 6 /* n */
            astore 1 /* b */
        end local 6 // java.nio.ByteBuffer n
        end local 5 // int nsize
         7: .line 224
            aload 4
            monitorexit
         8: goto 11
      StackMap locals: sun.net.httpserver.SSLStreams java.nio.ByteBuffer int sun.net.httpserver.SSLStreams$BufType sun.net.httpserver.SSLStreams
      StackMap stack: java.lang.Throwable
         9: aload 4
            monitorexit
        10: athrow
        11: .line 233
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            areturn
        end local 3 // sun.net.httpserver.SSLStreams$BufType type
        end local 2 // boolean flip
        end local 1 // java.nio.ByteBuffer b
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lsun/net/httpserver/SSLStreams;
            0   12     1      b  Ljava/nio/ByteBuffer;
            0   12     2   flip  Z
            0   12     3   type  Lsun/net/httpserver/SSLStreams$BufType;
            2    7     5  nsize  I
            3    7     6      n  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any
    MethodParameters:
      Name  Flags
      b     
      flip  
      type  

  public sun.net.httpserver.SSLStreams$WrapperResult sendData(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lsun/net/httpserver/SSLStreams$WrapperResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // sun.net.httpserver.SSLStreams this
        start local 1 // java.nio.ByteBuffer src
         0: .line 377
            aconst_null
            astore 2 /* r */
        start local 2 // sun.net.httpserver.SSLStreams$WrapperResult r
         1: .line 378
            goto 11
         2: .line 379
      StackMap locals: sun.net.httpserver.SSLStreams$WrapperResult
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.wrapper:Lsun/net/httpserver/SSLStreams$EngineWrapper;
            aload 1 /* src */
            invokevirtual sun.net.httpserver.SSLStreams$EngineWrapper.wrapAndSend:(Ljava/nio/ByteBuffer;)Lsun/net/httpserver/SSLStreams$WrapperResult;
            astore 2 /* r */
         3: .line 380
            aload 2 /* r */
            getfield sun.net.httpserver.SSLStreams$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            astore 3 /* status */
        start local 3 // javax.net.ssl.SSLEngineResult$Status status
         4: .line 381
            aload 3 /* status */
            getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 7
         5: .line 382
            aload 0 /* this */
            invokevirtual sun.net.httpserver.SSLStreams.doClosure:()V
         6: .line 383
            aload 2 /* r */
            areturn
         7: .line 385
      StackMap locals: javax.net.ssl.SSLEngineResult$Status
      StackMap stack:
            aload 2 /* r */
            getfield sun.net.httpserver.SSLStreams$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
            invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 4 /* hs_status */
        start local 4 // javax.net.ssl.SSLEngineResult$HandshakeStatus hs_status
         8: .line 386
            aload 4 /* hs_status */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpeq 11
         9: .line 387
            aload 4 /* hs_status */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpeq 11
        10: .line 389
            aload 0 /* this */
            aload 4 /* hs_status */
            invokevirtual sun.net.httpserver.SSLStreams.doHandshake:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)V
        end local 4 // javax.net.ssl.SSLEngineResult$HandshakeStatus hs_status
        end local 3 // javax.net.ssl.SSLEngineResult$Status status
        11: .line 378
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifgt 2
        12: .line 392
            aload 2 /* r */
            areturn
        end local 2 // sun.net.httpserver.SSLStreams$WrapperResult r
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lsun/net/httpserver/SSLStreams;
            0   13     1        src  Ljava/nio/ByteBuffer;
            1   13     2          r  Lsun/net/httpserver/SSLStreams$WrapperResult;
            4   11     3     status  Ljavax/net/ssl/SSLEngineResult$Status;
            8   11     4  hs_status  Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      src   

  public sun.net.httpserver.SSLStreams$WrapperResult recvData(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lsun/net/httpserver/SSLStreams$WrapperResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // sun.net.httpserver.SSLStreams this
        start local 1 // java.nio.ByteBuffer dst
         0: .line 403
            aconst_null
            astore 2 /* r */
        start local 2 // sun.net.httpserver.SSLStreams$WrapperResult r
         1: .line 404
            getstatic sun.net.httpserver.SSLStreams.$assertionsDisabled:Z
            ifne 14
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.position:()I
            ifeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 406
      StackMap locals: sun.net.httpserver.SSLStreams$WrapperResult
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.wrapper:Lsun/net/httpserver/SSLStreams$EngineWrapper;
            aload 1 /* dst */
            invokevirtual sun.net.httpserver.SSLStreams$EngineWrapper.recvAndUnwrap:(Ljava/nio/ByteBuffer;)Lsun/net/httpserver/SSLStreams$WrapperResult;
            astore 2 /* r */
         3: .line 407
            aload 2 /* r */
            getfield sun.net.httpserver.SSLStreams$WrapperResult.buf:Ljava/nio/ByteBuffer;
            aload 1 /* dst */
            if_acmpeq 4
            aload 2 /* r */
            getfield sun.net.httpserver.SSLStreams$WrapperResult.buf:Ljava/nio/ByteBuffer;
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 1 /* dst */
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
         5: astore 1 /* dst */
         6: .line 408
            aload 2 /* r */
            getfield sun.net.httpserver.SSLStreams$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            astore 3 /* status */
        start local 3 // javax.net.ssl.SSLEngineResult$Status status
         7: .line 409
            aload 3 /* status */
            getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 10
         8: .line 410
            aload 0 /* this */
            invokevirtual sun.net.httpserver.SSLStreams.doClosure:()V
         9: .line 411
            aload 2 /* r */
            areturn
        10: .line 414
      StackMap locals: javax.net.ssl.SSLEngineResult$Status
      StackMap stack:
            aload 2 /* r */
            getfield sun.net.httpserver.SSLStreams$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
            invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 4 /* hs_status */
        start local 4 // javax.net.ssl.SSLEngineResult$HandshakeStatus hs_status
        11: .line 415
            aload 4 /* hs_status */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpeq 14
        12: .line 416
            aload 4 /* hs_status */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpeq 14
        13: .line 418
            aload 0 /* this */
            aload 4 /* hs_status */
            invokevirtual sun.net.httpserver.SSLStreams.doHandshake:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)V
        end local 4 // javax.net.ssl.SSLEngineResult$HandshakeStatus hs_status
        end local 3 // javax.net.ssl.SSLEngineResult$Status status
        14: .line 405
      StackMap locals:
      StackMap stack:
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.position:()I
            ifeq 2
        15: .line 421
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
            pop
        16: .line 422
            aload 2 /* r */
            areturn
        end local 2 // sun.net.httpserver.SSLStreams$WrapperResult r
        end local 1 // java.nio.ByteBuffer dst
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lsun/net/httpserver/SSLStreams;
            0   17     1        dst  Ljava/nio/ByteBuffer;
            1   17     2          r  Lsun/net/httpserver/SSLStreams$WrapperResult;
            7   14     3     status  Ljavax/net/ssl/SSLEngineResult$Status;
           11   14     4  hs_status  Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dst   

  void doClosure();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // sun.net.httpserver.SSLStreams this
         0: .line 430
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.handshaking:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 431
            aload 0 /* this */
            getstatic sun.net.httpserver.SSLStreams$BufType.APPLICATION:Lsun/net/httpserver/SSLStreams$BufType;
            invokevirtual sun.net.httpserver.SSLStreams.allocate:(Lsun/net/httpserver/SSLStreams$BufType;)Ljava/nio/ByteBuffer;
            astore 1 /* tmp */
        start local 1 // java.nio.ByteBuffer tmp
         2: .line 436
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 1 /* tmp */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
            pop
         3: .line 437
            aload 1 /* tmp */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
            pop
         4: .line 438
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.wrapper:Lsun/net/httpserver/SSLStreams$EngineWrapper;
            aload 1 /* tmp */
            iconst_1
            invokevirtual sun.net.httpserver.SSLStreams$EngineWrapper.wrapAndSendX:(Ljava/nio/ByteBuffer;Z)Lsun/net/httpserver/SSLStreams$WrapperResult;
            astore 2 /* r */
        start local 2 // sun.net.httpserver.SSLStreams$WrapperResult r
         5: .line 439
            aload 2 /* r */
            getfield sun.net.httpserver.SSLStreams$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
            invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 4 /* hs */
        start local 4 // javax.net.ssl.SSLEngineResult$HandshakeStatus hs
         6: .line 440
            aload 2 /* r */
            getfield sun.net.httpserver.SSLStreams$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
            invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
            astore 3 /* st */
        start local 3 // javax.net.ssl.SSLEngineResult$Status st
         7: .line 441
            aload 3 /* st */
            getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpeq 13
         8: .line 442
            aload 3 /* st */
            getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
            if_acmpne 2
            aload 4 /* hs */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpne 2
        end local 4 // javax.net.ssl.SSLEngineResult$HandshakeStatus hs
        end local 3 // javax.net.ssl.SSLEngineResult$Status st
        end local 2 // sun.net.httpserver.SSLStreams$WrapperResult r
        end local 1 // java.nio.ByteBuffer tmp
         9: .line 443
            goto 13
      StackMap locals: sun.net.httpserver.SSLStreams
      StackMap stack: java.lang.Throwable
        10: astore 5
        11: .line 444
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.handshaking:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        12: .line 445
            aload 5
            athrow
        13: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.handshaking:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        14: .line 446
            return
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lsun/net/httpserver/SSLStreams;
            2    9     1   tmp  Ljava/nio/ByteBuffer;
            5    9     2     r  Lsun/net/httpserver/SSLStreams$WrapperResult;
            7    9     3    st  Ljavax/net/ssl/SSLEngineResult$Status;
            6    9     4    hs  Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
      Exception table:
        from    to  target  type
           0    10      10  any
    Exceptions:
      throws java.io.IOException

  void doHandshake(javax.net.ssl.SSLEngineResult$HandshakeStatus);
    descriptor: (Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // sun.net.httpserver.SSLStreams this
        start local 1 // javax.net.ssl.SSLEngineResult$HandshakeStatus hs_status
         0: .line 456
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.handshaking:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 457
            aload 0 /* this */
            getstatic sun.net.httpserver.SSLStreams$BufType.APPLICATION:Lsun/net/httpserver/SSLStreams$BufType;
            invokevirtual sun.net.httpserver.SSLStreams.allocate:(Lsun/net/httpserver/SSLStreams$BufType;)Ljava/nio/ByteBuffer;
            astore 2 /* tmp */
        start local 2 // java.nio.ByteBuffer tmp
         2: .line 458
            goto 20
         3: .line 461
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aconst_null
            astore 3 /* r */
        start local 3 // sun.net.httpserver.SSLStreams$WrapperResult r
         4: .line 462
            invokestatic sun.net.httpserver.SSLStreams.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:()[I
            aload 1 /* hs_status */
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iaload
            tableswitch { // 3 - 5
                    3: 5
                    4: 9
                    5: 13
              default: 18
          }
         5: .line 465
      StackMap locals: sun.net.httpserver.SSLStreams$WrapperResult
      StackMap stack:
            goto 7
        start local 4 // java.lang.Runnable task
         6: .line 469
      StackMap locals: java.lang.Runnable
      StackMap stack:
            aload 4 /* task */
            invokeinterface java.lang.Runnable.run:()V
        end local 4 // java.lang.Runnable task
         7: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.engine:Ljavax/net/ssl/SSLEngine;
            invokevirtual javax.net.ssl.SSLEngine.getDelegatedTask:()Ljava/lang/Runnable;
            dup
            astore 4 /* task */
        start local 4 // java.lang.Runnable task
         8: ifnonnull 6
        end local 4 // java.lang.Runnable task
         9: .line 473
      StackMap locals:
      StackMap stack:
            aload 2 /* tmp */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
            pop
        10: .line 474
            aload 2 /* tmp */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
            pop
        11: .line 475
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.wrapper:Lsun/net/httpserver/SSLStreams$EngineWrapper;
            aload 2 /* tmp */
            invokevirtual sun.net.httpserver.SSLStreams$EngineWrapper.wrapAndSend:(Ljava/nio/ByteBuffer;)Lsun/net/httpserver/SSLStreams$WrapperResult;
            astore 3 /* r */
        12: .line 476
            goto 18
        13: .line 479
      StackMap locals:
      StackMap stack:
            aload 2 /* tmp */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/ByteBuffer;
            pop
        14: .line 480
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.wrapper:Lsun/net/httpserver/SSLStreams$EngineWrapper;
            aload 2 /* tmp */
            invokevirtual sun.net.httpserver.SSLStreams$EngineWrapper.recvAndUnwrap:(Ljava/nio/ByteBuffer;)Lsun/net/httpserver/SSLStreams$WrapperResult;
            astore 3 /* r */
        15: .line 481
            aload 3 /* r */
            getfield sun.net.httpserver.SSLStreams$WrapperResult.buf:Ljava/nio/ByteBuffer;
            aload 2 /* tmp */
            if_acmpeq 17
        16: .line 482
            aload 3 /* r */
            getfield sun.net.httpserver.SSLStreams$WrapperResult.buf:Ljava/nio/ByteBuffer;
            astore 2 /* tmp */
        17: .line 484
      StackMap locals:
      StackMap stack:
            getstatic sun.net.httpserver.SSLStreams.$assertionsDisabled:Z
            ifne 18
            aload 2 /* tmp */
            invokevirtual java.nio.ByteBuffer.position:()I
            ifeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 486
      StackMap locals:
      StackMap stack:
            aload 3 /* r */
        19: .line 487
            getfield sun.net.httpserver.SSLStreams$WrapperResult.result:Ljavax/net/ssl/SSLEngineResult;
            invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            astore 1 /* hs_status */
        end local 3 // sun.net.httpserver.SSLStreams$WrapperResult r
        20: .line 458
      StackMap locals:
      StackMap stack:
            aload 1 /* hs_status */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpeq 26
        21: .line 459
            aload 1 /* hs_status */
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            if_acmpne 3
        end local 2 // java.nio.ByteBuffer tmp
        22: .line 489
            goto 26
      StackMap locals: sun.net.httpserver.SSLStreams javax.net.ssl.SSLEngineResult$HandshakeStatus
      StackMap stack: java.lang.Throwable
        23: astore 5
        24: .line 490
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.handshaking:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        25: .line 491
            aload 5
            athrow
        26: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.httpserver.SSLStreams.handshaking:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        27: .line 492
            return
        end local 1 // javax.net.ssl.SSLEngineResult$HandshakeStatus hs_status
        end local 0 // sun.net.httpserver.SSLStreams this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   28     0       this  Lsun/net/httpserver/SSLStreams;
            0   28     1  hs_status  Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            2   22     2        tmp  Ljava/nio/ByteBuffer;
            4   20     3          r  Lsun/net/httpserver/SSLStreams$WrapperResult;
            6    7     4       task  Ljava/lang/Runnable;
            8    9     4       task  Ljava/lang/Runnable;
      Exception table:
        from    to  target  type
           0    23      23  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      hs_status  

  static int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 43
            getstatic sun.net.httpserver.SSLStreams.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic javax.net.ssl.SSLEngineResult$HandshakeStatus.values:()[Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iconst_5
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP_AGAIN:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            bipush 6
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
            invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
            iconst_1
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            dup
            putstatic sun.net.httpserver.SSLStreams.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
}
SourceFile: "SSLStreams.java"
NestMembers:
  sun.net.httpserver.SSLStreams$BufType  sun.net.httpserver.SSLStreams$EngineWrapper  sun.net.httpserver.SSLStreams$InputStream  sun.net.httpserver.SSLStreams$OutputStream  sun.net.httpserver.SSLStreams$Parameters  sun.net.httpserver.SSLStreams$WrapperResult
InnerClasses:
  public final HandshakeStatus = javax.net.ssl.SSLEngineResult$HandshakeStatus of javax.net.ssl.SSLEngineResult
  public final Status = javax.net.ssl.SSLEngineResult$Status of javax.net.ssl.SSLEngineResult
  final BufType = sun.net.httpserver.SSLStreams$BufType of sun.net.httpserver.SSLStreams
  EngineWrapper = sun.net.httpserver.SSLStreams$EngineWrapper of sun.net.httpserver.SSLStreams
  InputStream = sun.net.httpserver.SSLStreams$InputStream of sun.net.httpserver.SSLStreams
  OutputStream = sun.net.httpserver.SSLStreams$OutputStream of sun.net.httpserver.SSLStreams
  Parameters = sun.net.httpserver.SSLStreams$Parameters of sun.net.httpserver.SSLStreams
  WrapperResult = sun.net.httpserver.SSLStreams$WrapperResult of sun.net.httpserver.SSLStreams