final class sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment
  super_class: java.lang.Object
{
  private java.util.LinkedList<sun.security.ssl.SSLEngineOutputRecord$RecordMemo> handshakeMemos;
    descriptor: Ljava/util/LinkedList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/LinkedList<Lsun/security/ssl/SSLEngineOutputRecord$RecordMemo;>;

  final sun.security.ssl.SSLEngineOutputRecord this$0;
    descriptor: Lsun/security/ssl/SSLEngineOutputRecord;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(sun.security.ssl.SSLEngineOutputRecord);
    descriptor: (Lsun/security/ssl/SSLEngineOutputRecord;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment this
         0: .line 370
            aload 0 /* this */
            aload 1
            putfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 371
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.handshakeMemos:Ljava/util/LinkedList;
         2: .line 370
            return
        end local 0 // sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/SSLEngineOutputRecord$HandshakeFragment;
    MethodParameters:
        Name  Flags
      this$0  final

  void queueUpFragment(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment this
        start local 1 // byte[] source
        start local 2 // int offset
        start local 3 // int length
         0: .line 376
            new sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo
            dup
            invokespecial sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.<init>:()V
            astore 4 /* memo */
        start local 4 // sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo memo
         1: .line 378
            aload 4 /* memo */
            bipush 22
            putfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.contentType:B
         2: .line 379
            aload 4 /* memo */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            getfield sun.security.ssl.ProtocolVersion.major:B
            putfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.majorVersion:B
         3: .line 380
            aload 4 /* memo */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            getfield sun.security.ssl.ProtocolVersion.minor:B
            putfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.minorVersion:B
         4: .line 381
            aload 4 /* memo */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.writeCipher:Lsun/security/ssl/CipherBox;
            putfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.encodeCipher:Lsun/security/ssl/CipherBox;
         5: .line 382
            aload 4 /* memo */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.writeAuthenticator:Lsun/security/ssl/Authenticator;
            putfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.encodeAuthenticator:Lsun/security/ssl/Authenticator;
         6: .line 384
            aload 4 /* memo */
            aload 1 /* source */
            iload 2 /* offset */
            baload
            putfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.handshakeType:B
         7: .line 385
            aload 4 /* memo */
            iconst_0
            putfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.acquireOffset:I
         8: .line 386
            aload 4 /* memo */
            iload 3 /* length */
            iconst_4
            isub
            newarray 8
            putfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.fragment:[B
         9: .line 389
            aload 1 /* source */
            iload 2 /* offset */
            iconst_4
            iadd
            aload 4 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.fragment:[B
            iconst_0
            iload 3 /* length */
            iconst_4
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 391
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.handshakeMemos:Ljava/util/LinkedList;
            aload 4 /* memo */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        11: .line 392
            return
        end local 4 // sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo memo
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] source
        end local 0 // sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lsun/security/ssl/SSLEngineOutputRecord$HandshakeFragment;
            0   12     1  source  [B
            0   12     2  offset  I
            0   12     3  length  I
            1   12     4    memo  Lsun/security/ssl/SSLEngineOutputRecord$HandshakeMemo;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      source  
      offset  
      length  

  void queueUpChangeCipherSpec();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment this
         0: .line 395
            new sun.security.ssl.SSLEngineOutputRecord$RecordMemo
            dup
            invokespecial sun.security.ssl.SSLEngineOutputRecord$RecordMemo.<init>:()V
            astore 1 /* memo */
        start local 1 // sun.security.ssl.SSLEngineOutputRecord$RecordMemo memo
         1: .line 397
            aload 1 /* memo */
            bipush 20
            putfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.contentType:B
         2: .line 398
            aload 1 /* memo */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            getfield sun.security.ssl.ProtocolVersion.major:B
            putfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.majorVersion:B
         3: .line 399
            aload 1 /* memo */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            getfield sun.security.ssl.ProtocolVersion.minor:B
            putfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.minorVersion:B
         4: .line 400
            aload 1 /* memo */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.writeCipher:Lsun/security/ssl/CipherBox;
            putfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.encodeCipher:Lsun/security/ssl/CipherBox;
         5: .line 401
            aload 1 /* memo */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.writeAuthenticator:Lsun/security/ssl/Authenticator;
            putfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.encodeAuthenticator:Lsun/security/ssl/Authenticator;
         6: .line 403
            aload 1 /* memo */
            iconst_1
            newarray 8
            putfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.fragment:[B
         7: .line 404
            aload 1 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.fragment:[B
            iconst_0
            iconst_1
            bastore
         8: .line 406
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.handshakeMemos:Ljava/util/LinkedList;
            aload 1 /* memo */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 407
            return
        end local 1 // sun.security.ssl.SSLEngineOutputRecord$RecordMemo memo
        end local 0 // sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/ssl/SSLEngineOutputRecord$HandshakeFragment;
            1   10     1  memo  Lsun/security/ssl/SSLEngineOutputRecord$RecordMemo;

  sun.security.ssl.Ciphertext acquireCiphertext(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lsun/security/ssl/Ciphertext;
    flags: (0x0000) 
    Code:
      stack=9, locals=13, args_size=2
        start local 0 // sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment this
        start local 1 // java.nio.ByteBuffer dstBuf
         0: .line 410
            aload 0 /* this */
            invokevirtual sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.isEmpty:()Z
            ifeq 2
         1: .line 411
            aconst_null
            areturn
         2: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.handshakeMemos:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.getFirst:()Ljava/lang/Object;
            checkcast sun.security.ssl.SSLEngineOutputRecord$RecordMemo
            astore 2 /* memo */
        start local 2 // sun.security.ssl.SSLEngineOutputRecord$RecordMemo memo
         3: .line 415
            aconst_null
            astore 3 /* hsMemo */
        start local 3 // sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo hsMemo
         4: .line 416
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.contentType:B
            bipush 22
            if_icmpne 6
         5: .line 417
            aload 2 /* memo */
            checkcast sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo
            astore 3 /* hsMemo */
         6: .line 420
      StackMap locals: sun.security.ssl.SSLEngineOutputRecord$RecordMemo sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo
      StackMap stack:
            iconst_0
            istore 4 /* macLen */
        start local 4 // int macLen
         7: .line 421
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.encodeAuthenticator:Lsun/security/ssl/Authenticator;
            instanceof sun.security.ssl.MAC
            ifeq 9
         8: .line 422
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.encodeAuthenticator:Lsun/security/ssl/Authenticator;
            checkcast sun.security.ssl.MAC
            invokevirtual sun.security.ssl.MAC.MAClen:()I
            istore 4 /* macLen */
         9: .line 428
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.packetSize:I
            ifle 15
        10: .line 429
            sipush 16709
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.packetSize:I
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* fragLen */
        start local 5 // int fragLen
        11: .line 430
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.encodeCipher:Lsun/security/ssl/CipherBox;
        12: .line 431
            iload 5 /* fragLen */
            iload 4 /* macLen */
            iconst_5
        13: .line 430
            invokevirtual sun.security.ssl.CipherBox.calculateFragmentSize:(III)I
            istore 5 /* fragLen */
        14: .line 432
            goto 16
        end local 5 // int fragLen
        15: .line 433
      StackMap locals:
      StackMap stack:
            sipush 16384
            istore 5 /* fragLen */
        start local 5 // int fragLen
        16: .line 436
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.fragmentSize:I
            ifle 18
        17: .line 437
            iload 5 /* fragLen */
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.fragmentSize:I
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* fragLen */
        18: .line 440
      StackMap locals:
      StackMap stack:
            aload 1 /* dstBuf */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 6 /* dstPos */
        start local 6 // int dstPos
        19: .line 441
            aload 1 /* dstBuf */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 7 /* dstLim */
        start local 7 // int dstLim
        20: .line 442
            iload 6 /* dstPos */
            iconst_5
            iadd
        21: .line 443
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.encodeCipher:Lsun/security/ssl/CipherBox;
            invokevirtual sun.security.ssl.CipherBox.getExplicitNonceSize:()I
        22: .line 442
            iadd
            istore 8 /* dstContent */
        start local 8 // int dstContent
        23: .line 444
            aload 1 /* dstBuf */
            iload 8 /* dstContent */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        24: .line 446
            aload 3 /* hsMemo */
            ifnull 53
        25: .line 447
            iload 5 /* fragLen */
            istore 9 /* remainingFragLen */
        start local 9 // int remainingFragLen
        26: .line 448
            goto 50
        27: .line 449
      StackMap locals: sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment java.nio.ByteBuffer sun.security.ssl.SSLEngineOutputRecord$RecordMemo sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo int int int int int int
      StackMap stack:
            aload 3 /* hsMemo */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.fragment:[B
            arraylength
            istore 10 /* memoFragLen */
        start local 10 // int memoFragLen
        28: .line 450
            aload 3 /* hsMemo */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.acquireOffset:I
            ifne 36
        29: .line 452
            iload 9 /* remainingFragLen */
            iconst_4
            if_icmpgt 31
        30: .line 453
            goto 51
        31: .line 456
      StackMap locals: int
      StackMap stack:
            aload 1 /* dstBuf */
            aload 3 /* hsMemo */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.handshakeType:B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        32: .line 457
            aload 1 /* dstBuf */
            iload 10 /* memoFragLen */
            bipush 16
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        33: .line 458
            aload 1 /* dstBuf */
            iload 10 /* memoFragLen */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        34: .line 459
            aload 1 /* dstBuf */
            iload 10 /* memoFragLen */
            sipush 255
            iand
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        35: .line 461
            iinc 9 /* remainingFragLen */ -4
        36: .line 464
      StackMap locals:
      StackMap stack:
            iload 9 /* remainingFragLen */
        37: .line 465
            iload 10 /* memoFragLen */
            aload 3 /* hsMemo */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.acquireOffset:I
            isub
        38: .line 464
            invokestatic java.lang.Math.min:(II)I
            istore 11 /* chipLen */
        start local 11 // int chipLen
        39: .line 466
            aload 1 /* dstBuf */
            aload 3 /* hsMemo */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.fragment:[B
            aload 3 /* hsMemo */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.acquireOffset:I
            iload 11 /* chipLen */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        40: .line 468
            aload 3 /* hsMemo */
            dup
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.acquireOffset:I
            iload 11 /* chipLen */
            iadd
            putfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.acquireOffset:I
        41: .line 469
            aload 3 /* hsMemo */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.acquireOffset:I
            iload 10 /* memoFragLen */
            if_icmpne 48
        42: .line 470
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.handshakeMemos:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
            pop
        43: .line 473
            iload 9 /* remainingFragLen */
            iload 11 /* chipLen */
            if_icmple 48
        44: .line 474
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.handshakeMemos:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifne 48
        45: .line 477
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.handshakeMemos:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.getFirst:()Ljava/lang/Object;
            checkcast sun.security.ssl.SSLEngineOutputRecord$RecordMemo
            astore 12 /* reMemo */
        start local 12 // sun.security.ssl.SSLEngineOutputRecord$RecordMemo reMemo
        46: .line 478
            aload 12 /* reMemo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.contentType:B
            bipush 22
            if_icmpne 51
        47: .line 479
            aload 12 /* reMemo */
            checkcast sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo
            astore 3 /* hsMemo */
        end local 12 // sun.security.ssl.SSLEngineOutputRecord$RecordMemo reMemo
        48: .line 480
      StackMap locals: int
      StackMap stack:
            iload 9 /* remainingFragLen */
        49: .line 487
            iload 11 /* chipLen */
            isub
            istore 9 /* remainingFragLen */
        end local 11 // int chipLen
        end local 10 // int memoFragLen
        50: .line 448
      StackMap locals:
      StackMap stack:
            iload 9 /* remainingFragLen */
            ifle 51
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.handshakeMemos:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ifeq 27
        51: .line 490
      StackMap locals:
      StackMap stack:
            iload 5 /* fragLen */
            iload 9 /* remainingFragLen */
            isub
            istore 5 /* fragLen */
        end local 9 // int remainingFragLen
        52: .line 491
            goto 56
        53: .line 492
      StackMap locals:
      StackMap stack:
            iload 5 /* fragLen */
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.fragment:[B
            arraylength
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* fragLen */
        54: .line 493
            aload 1 /* dstBuf */
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.fragment:[B
            iconst_0
            iload 5 /* fragLen */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        55: .line 495
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.handshakeMemos:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
            pop
        56: .line 498
      StackMap locals:
      StackMap stack:
            aload 1 /* dstBuf */
            aload 1 /* dstBuf */
            invokevirtual java.nio.ByteBuffer.position:()I
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
            pop
        57: .line 499
            aload 1 /* dstBuf */
            iload 8 /* dstContent */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        58: .line 501
            getstatic sun.security.ssl.SSLEngineOutputRecord.debug:Lsun/security/ssl/Debug;
            ifnull 64
            ldc "record"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 64
        59: .line 502
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        60: .line 503
            ldc ", WRITE: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.this$0:Lsun/security/ssl/SSLEngineOutputRecord;
            getfield sun.security.ssl.SSLEngineOutputRecord.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        61: .line 504
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.contentType:B
            invokestatic sun.security.ssl.Record.contentName:(B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        62: .line 505
            ldc ", length = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* dstBuf */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        63: .line 502
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        64: .line 509
      StackMap locals:
      StackMap stack:
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.encodeAuthenticator:Lsun/security/ssl/Authenticator;
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.encodeCipher:Lsun/security/ssl/CipherBox;
        65: .line 510
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.contentType:B
            aload 1 /* dstBuf */
        66: .line 511
            iload 6 /* dstPos */
            iload 7 /* dstLim */
            iconst_5
        67: .line 512
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.majorVersion:B
        68: .line 513
            aload 2 /* memo */
            getfield sun.security.ssl.SSLEngineOutputRecord$RecordMemo.minorVersion:B
        69: .line 512
            invokestatic sun.security.ssl.ProtocolVersion.valueOf:(II)Lsun/security/ssl/ProtocolVersion;
        70: .line 513
            iconst_0
        71: .line 509
            invokestatic sun.security.ssl.SSLEngineOutputRecord.encrypt:(Lsun/security/ssl/Authenticator;Lsun/security/ssl/CipherBox;BLjava/nio/ByteBuffer;IIILsun/security/ssl/ProtocolVersion;Z)J
            lstore 9 /* recordSN */
        start local 9 // long recordSN
        72: .line 515
            getstatic sun.security.ssl.SSLEngineOutputRecord.debug:Lsun/security/ssl/Debug;
            ifnull 79
            ldc "packet"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 79
        73: .line 516
            aload 1 /* dstBuf */
            invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
            astore 11 /* temporary */
        start local 11 // java.nio.ByteBuffer temporary
        74: .line 517
            aload 11 /* temporary */
            aload 11 /* temporary */
            invokevirtual java.nio.ByteBuffer.position:()I
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
            pop
        75: .line 518
            aload 11 /* temporary */
            iload 6 /* dstPos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        76: .line 520
            new java.lang.StringBuilder
            dup
            ldc "[Raw write]: length = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* temporary */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        77: .line 521
            aload 11 /* temporary */
        78: .line 519
            invokestatic sun.security.ssl.Debug.printHex:(Ljava/lang/String;Ljava/nio/ByteBuffer;)V
        end local 11 // java.nio.ByteBuffer temporary
        79: .line 525
      StackMap locals: long
      StackMap stack:
            aload 1 /* dstBuf */
            iload 7 /* dstLim */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
            pop
        80: .line 528
            aload 3 /* hsMemo */
            ifnull 86
        81: .line 529
            new sun.security.ssl.Ciphertext
            dup
        82: .line 530
            aload 3 /* hsMemo */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.contentType:B
            aload 3 /* hsMemo */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo.handshakeType:B
        83: .line 529
            invokestatic sun.security.ssl.Ciphertext$RecordType.valueOf:(BB)Lsun/security/ssl/Ciphertext$RecordType;
        84: .line 530
            lload 9 /* recordSN */
        85: .line 529
            invokespecial sun.security.ssl.Ciphertext.<init>:(Lsun/security/ssl/Ciphertext$RecordType;J)V
            areturn
        86: .line 532
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.Ciphertext
            dup
        87: .line 533
            getstatic sun.security.ssl.Ciphertext$RecordType.RECORD_CHANGE_CIPHER_SPEC:Lsun/security/ssl/Ciphertext$RecordType;
            lload 9 /* recordSN */
        88: .line 532
            invokespecial sun.security.ssl.Ciphertext.<init>:(Lsun/security/ssl/Ciphertext$RecordType;J)V
            areturn
        end local 9 // long recordSN
        end local 8 // int dstContent
        end local 7 // int dstLim
        end local 6 // int dstPos
        end local 5 // int fragLen
        end local 4 // int macLen
        end local 3 // sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo hsMemo
        end local 2 // sun.security.ssl.SSLEngineOutputRecord$RecordMemo memo
        end local 1 // java.nio.ByteBuffer dstBuf
        end local 0 // sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   89     0              this  Lsun/security/ssl/SSLEngineOutputRecord$HandshakeFragment;
            0   89     1            dstBuf  Ljava/nio/ByteBuffer;
            3   89     2              memo  Lsun/security/ssl/SSLEngineOutputRecord$RecordMemo;
            4   89     3            hsMemo  Lsun/security/ssl/SSLEngineOutputRecord$HandshakeMemo;
            7   89     4            macLen  I
           11   15     5           fragLen  I
           16   89     5           fragLen  I
           19   89     6            dstPos  I
           20   89     7            dstLim  I
           23   89     8        dstContent  I
           26   52     9  remainingFragLen  I
           28   50    10       memoFragLen  I
           39   50    11           chipLen  I
           46   48    12            reMemo  Lsun/security/ssl/SSLEngineOutputRecord$RecordMemo;
           72   89     9          recordSN  J
           74   79    11         temporary  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      dstBuf  

  boolean isEmpty();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment this
         0: .line 538
            aload 0 /* this */
            getfield sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment.handshakeMemos:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.isEmpty:()Z
            ireturn
        end local 0 // sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/SSLEngineOutputRecord$HandshakeFragment;
}
SourceFile: "SSLEngineOutputRecord.java"
NestHost: sun.security.ssl.SSLEngineOutputRecord
InnerClasses:
  final RecordType = sun.security.ssl.Ciphertext$RecordType of sun.security.ssl.Ciphertext
  final HandshakeFragment = sun.security.ssl.SSLEngineOutputRecord$HandshakeFragment of sun.security.ssl.SSLEngineOutputRecord
  private HandshakeMemo = sun.security.ssl.SSLEngineOutputRecord$HandshakeMemo of sun.security.ssl.SSLEngineOutputRecord
  private RecordMemo = sun.security.ssl.SSLEngineOutputRecord$RecordMemo of sun.security.ssl.SSLEngineOutputRecord