public class io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit extends org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
  super_class: org.xnio.conduits.AbstractStreamSinkConduit
{
  private static final int SHUTDOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int DELEGATE_SHUTDOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int FLUSHING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

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

  private final io.undertow.connector.ByteBufferPool pool;
    descriptor: Lio/undertow/connector/ByteBufferPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.undertow.connector.PooledByteBuffer buffer;
    descriptor: Lio/undertow/connector/PooledByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.xnio.conduits.StreamSinkConduit, io.undertow.connector.ByteBufferPool);
    descriptor: (Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/connector/ByteBufferPool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // org.xnio.conduits.StreamSinkConduit next
        start local 2 // io.undertow.connector.ByteBufferPool pool
         0: .line 68
            aload 0 /* this */
            aload 1 /* next */
            invokespecial org.xnio.conduits.AbstractStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
         1: .line 69
            aload 0 /* this */
            aload 2 /* pool */
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.pool:Lio/undertow/connector/ByteBufferPool;
         2: .line 70
            return
        end local 2 // io.undertow.connector.ByteBufferPool pool
        end local 1 // org.xnio.conduits.StreamSinkConduit next
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0    3     1  next  Lorg/xnio/conduits/StreamSinkConduit;
            0    3     2  pool  Lio/undertow/connector/ByteBufferPool;
    MethodParameters:
      Name  Flags
      next  
      pool  final

  public long transferFrom(java.nio.channels.FileChannel, long, long);
    descriptor: (Ljava/nio/channels/FileChannel;JJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // java.nio.channels.FileChannel src
        start local 2 // long position
        start local 4 // long count
         0: .line 74
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 75
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 77
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            lload 2 /* position */
            lload 4 /* count */
            new org.xnio.conduits.ConduitWritableByteChannel
            dup
            aload 0 /* this */
            invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
            invokevirtual java.nio.channels.FileChannel.transferTo:(JJLjava/nio/channels/WritableByteChannel;)J
            lreturn
        end local 4 // long count
        end local 2 // long position
        end local 1 // java.nio.channels.FileChannel src
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0    3     1       src  Ljava/nio/channels/FileChannel;
            0    3     2  position  J
            0    3     4     count  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      src       
      position  
      count     

  public long transferFrom(org.xnio.channels.StreamSourceChannel, long, java.nio.ByteBuffer);
    descriptor: (Lorg/xnio/channels/StreamSourceChannel;JLjava/nio/ByteBuffer;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // org.xnio.channels.StreamSourceChannel source
        start local 2 // long count
        start local 4 // java.nio.ByteBuffer throughBuffer
         0: .line 82
            aload 1 /* source */
            lload 2 /* count */
            aload 4 /* throughBuffer */
            new org.xnio.conduits.ConduitWritableByteChannel
            dup
            aload 0 /* this */
            invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
            invokestatic org.xnio.IoUtils.transfer:(Ljava/nio/channels/ReadableByteChannel;JLjava/nio/ByteBuffer;Ljava/nio/channels/WritableByteChannel;)J
            lreturn
        end local 4 // java.nio.ByteBuffer throughBuffer
        end local 2 // long count
        end local 1 // org.xnio.channels.StreamSourceChannel source
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0    1     1         source  Lorg/xnio/channels/StreamSourceChannel;
            0    1     2          count  J
            0    1     4  throughBuffer  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      source         
      count          
      throughBuffer  

  public long write(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int offset
        start local 3 // int length
         0: .line 87
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 88
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 6
         3: .line 91
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.flushBuffer:()Z
            istore 4 /* res */
        start local 4 // boolean res
         4: .line 92
            iload 4 /* res */
            ifne 6
         5: .line 93
            lconst_0
            lreturn
        end local 4 // boolean res
         6: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            astore 4 /* pooled */
        start local 4 // io.undertow.connector.PooledByteBuffer pooled
         7: .line 97
            aload 4 /* pooled */
            ifnonnull 9
         8: .line 98
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.pool:Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            dup
            astore 4 /* pooled */
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
         9: .line 100
      StackMap locals: io.undertow.connector.PooledByteBuffer
      StackMap stack:
            aload 4 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 5 /* buffer */
        start local 5 // java.nio.ByteBuffer buffer
        10: .line 102
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;II)J
            lstore 6 /* total */
        start local 6 // long total
        11: .line 104
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            lload 6 /* total */
            lcmp
            ifle 15
        12: .line 105
            lload 6 /* total */
            lstore 8 /* put */
        start local 8 // long put
        13: .line 106
            aload 5 /* buffer */
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic org.xnio.Buffers.copy:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)I
            pop
        14: .line 107
            lload 8 /* put */
            lreturn
        end local 8 // long put
        15: .line 109
      StackMap locals: java.nio.ByteBuffer long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.flushBufferWithUserData:([Ljava/nio/ByteBuffer;II)J
            lreturn
        end local 6 // long total
        end local 5 // java.nio.ByteBuffer buffer
        end local 4 // io.undertow.connector.PooledByteBuffer pooled
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] srcs
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0   16     1    srcs  [Ljava/nio/ByteBuffer;
            0   16     2  offset  I
            0   16     3  length  I
            4    6     4     res  Z
            7   16     4  pooled  Lio/undertow/connector/PooledByteBuffer;
           10   16     5  buffer  Ljava/nio/ByteBuffer;
           11   16     6   total  J
           13   15     8     put  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      srcs    
      offset  
      length  

  public int write(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // java.nio.ByteBuffer src
         0: .line 115
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 116
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 6
         3: .line 119
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.flushBuffer:()Z
            istore 2 /* res */
        start local 2 // boolean res
         4: .line 120
            iload 2 /* res */
            ifne 6
         5: .line 121
            iconst_0
            ireturn
        end local 2 // boolean res
         6: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            astore 2 /* pooled */
        start local 2 // io.undertow.connector.PooledByteBuffer pooled
         7: .line 125
            aload 2 /* pooled */
            ifnonnull 9
         8: .line 126
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.pool:Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            dup
            astore 2 /* pooled */
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
         9: .line 128
      StackMap locals: io.undertow.connector.PooledByteBuffer
      StackMap stack:
            aload 2 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 3 /* buffer */
        start local 3 // java.nio.ByteBuffer buffer
        10: .line 129
            aload 3 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 14
        11: .line 130
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 4 /* put */
        start local 4 // int put
        12: .line 131
            aload 3 /* buffer */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        13: .line 132
            iload 4 /* put */
            ireturn
        end local 4 // int put
        14: .line 134
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 1 /* src */
            aastore
            iconst_0
            iconst_1
            invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.flushBufferWithUserData:([Ljava/nio/ByteBuffer;II)J
            l2i
            ireturn
        end local 3 // java.nio.ByteBuffer buffer
        end local 2 // io.undertow.connector.PooledByteBuffer pooled
        end local 1 // java.nio.ByteBuffer src
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0   15     1     src  Ljava/nio/ByteBuffer;
            4    6     2     res  Z
            7   15     2  pooled  Lio/undertow/connector/PooledByteBuffer;
           10   15     3  buffer  Ljava/nio/ByteBuffer;
           12   14     4     put  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      src   

  public int writeFinal(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // java.nio.ByteBuffer src
         0: .line 140
            aload 0 /* this */
            aload 1 /* src */
            invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;Ljava/nio/ByteBuffer;)I
            ireturn
        end local 1 // java.nio.ByteBuffer src
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0    1     1   src  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      src   

  public long writeFinal(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int offset
        start local 3 // int length
         0: .line 145
            aload 0 /* this */
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;[Ljava/nio/ByteBuffer;II)J
            lreturn
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] srcs
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0    1     1    srcs  [Ljava/nio/ByteBuffer;
            0    1     2  offset  I
            0    1     3  length  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      srcs    
      offset  
      length  

  private long flushBufferWithUserData(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=13, args_size=4
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // java.nio.ByteBuffer[] byteBuffers
        start local 2 // int offset
        start local 3 // int length
         0: .line 149
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 4 /* byteBuffer */
        start local 4 // java.nio.ByteBuffer byteBuffer
         1: .line 150
            aload 4 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            ifne 10
         2: .line 152
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* byteBuffers */
            iload 2 /* offset */
            iload 3 /* length */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            lstore 6
         3: .line 154
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         4: .line 155
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
         5: .line 152
            lload 6
            lreturn
         6: .line 153
      StackMap locals: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit java.nio.ByteBuffer[] int int java.nio.ByteBuffer
      StackMap stack: java.lang.Throwable
            astore 5
         7: .line 154
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         8: .line 155
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
         9: .line 156
            aload 5
            athrow
        10: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 13
        11: .line 160
            aload 0 /* this */
            dup
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            bipush 8
            ior
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
        12: .line 161
            aload 4 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        13: .line 163
      StackMap locals:
      StackMap stack:
            aload 4 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* originalBufferedRemaining */
        start local 5 // int originalBufferedRemaining
        14: .line 164
            iload 5 /* originalBufferedRemaining */
            i2l
            lstore 6 /* toWrite */
        start local 6 // long toWrite
        15: .line 165
            iload 3 /* length */
            iconst_1
            iadd
            anewarray java.nio.ByteBuffer
            astore 8 /* writeBufs */
        start local 8 // java.nio.ByteBuffer[] writeBufs
        16: .line 166
            aload 8 /* writeBufs */
            iconst_0
            aload 4 /* byteBuffer */
            aastore
        17: .line 167
            iload 2 /* offset */
            istore 9 /* i */
        start local 9 // int i
        18: goto 22
        19: .line 168
      StackMap locals: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit java.nio.ByteBuffer[] int int java.nio.ByteBuffer int long java.nio.ByteBuffer[] int
      StackMap stack:
            aload 8 /* writeBufs */
            iload 9 /* i */
            iconst_1
            iadd
            iload 2 /* offset */
            isub
            aload 1 /* byteBuffers */
            iload 9 /* i */
            aaload
            aastore
        20: .line 169
            lload 6 /* toWrite */
            aload 1 /* byteBuffers */
            iload 9 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            ladd
            lstore 6 /* toWrite */
        21: .line 167
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 2 /* offset */
            iload 3 /* length */
            iadd
            if_icmplt 19
        end local 9 // int i
        23: .line 172
            lconst_0
            lstore 9 /* res */
        start local 9 // long res
        24: .line 173
            lconst_0
            lstore 11 /* written */
        start local 11 // long written
        25: .line 175
      StackMap locals: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit java.nio.ByteBuffer[] int int java.nio.ByteBuffer int long java.nio.ByteBuffer[] long long
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 8 /* writeBufs */
            iconst_0
            aload 8 /* writeBufs */
            arraylength
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            lstore 9 /* res */
        26: .line 176
            lload 11 /* written */
            lload 9 /* res */
            ladd
            lstore 11 /* written */
        27: .line 177
            lload 9 /* res */
            lconst_0
            lcmp
            ifne 34
        28: .line 178
            lload 11 /* written */
            iload 5 /* originalBufferedRemaining */
            i2l
            lcmp
            ifle 33
        29: .line 179
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        30: .line 180
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
        31: .line 181
            aload 0 /* this */
            dup
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            bipush -9
            iand
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
        32: .line 182
            lload 11 /* written */
            iload 5 /* originalBufferedRemaining */
            i2l
            lsub
            lreturn
        33: .line 184
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
        34: .line 186
      StackMap locals:
      StackMap stack:
            lload 11 /* written */
            lload 6 /* toWrite */
        35: .line 174
            lcmp
            iflt 25
        36: .line 187
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        37: .line 188
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
        38: .line 189
            aload 0 /* this */
            dup
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            bipush -9
            iand
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
        39: .line 190
            lload 11 /* written */
            iload 5 /* originalBufferedRemaining */
            i2l
            lsub
            lreturn
        end local 11 // long written
        end local 9 // long res
        end local 8 // java.nio.ByteBuffer[] writeBufs
        end local 6 // long toWrite
        end local 5 // int originalBufferedRemaining
        end local 4 // java.nio.ByteBuffer byteBuffer
        end local 3 // int length
        end local 2 // int offset
        end local 1 // java.nio.ByteBuffer[] byteBuffers
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   40     0                       this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0   40     1                byteBuffers  [Ljava/nio/ByteBuffer;
            0   40     2                     offset  I
            0   40     3                     length  I
            1   40     4                 byteBuffer  Ljava/nio/ByteBuffer;
           14   40     5  originalBufferedRemaining  I
           15   40     6                    toWrite  J
           16   40     8                  writeBufs  [Ljava/nio/ByteBuffer;
           18   23     9                          i  I
           24   40     9                        res  J
           25   40    11                    written  J
      Exception table:
        from    to  target  type
           2     3       6  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      byteBuffers  final
      offset       
      length       

  public boolean flushPipelinedData();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
         0: .line 205
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 1
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.position:()I
            ifne 2
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 2
         1: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            ireturn
         2: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.flushBuffer:()Z
            ireturn
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
    Exceptions:
      throws java.io.IOException

  public void setupPipelineBuffer(io.undertow.server.HttpServerExchange);
    descriptor: (Lio/undertow/server/HttpServerExchange;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // io.undertow.server.HttpServerExchange exchange
         0: .line 215
            aload 1 /* exchange */
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            checkcast io.undertow.server.protocol.http.HttpServerConnection
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getChannel:()Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            aload 0 /* this */
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.setConduit:(Lorg/xnio/conduits/StreamSinkConduit;)V
         1: .line 216
            return
        end local 1 // io.undertow.server.HttpServerExchange exchange
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0    2     1  exchange  Lio/undertow/server/HttpServerExchange;
    MethodParameters:
          Name  Flags
      exchange  final

  private boolean flushBuffer();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
         0: .line 219
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            ifnonnull 2
         1: .line 220
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            ireturn
         2: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 1 /* byteBuffer */
        start local 1 // java.nio.ByteBuffer byteBuffer
         3: .line 223
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 9
         4: .line 224
            aload 0 /* this */
            dup
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            bipush 8
            ior
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
         5: .line 225
            aload 1 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         6: .line 227
            goto 9
         7: .line 228
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* byteBuffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            ifne 9
         8: .line 229
            iconst_0
            ireturn
         9: .line 227
      StackMap locals:
      StackMap stack:
            aload 1 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 7
        10: .line 232
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            ifne 12
        11: .line 233
            iconst_0
            ireturn
        12: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        13: .line 236
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
        14: .line 237
            aload 0 /* this */
            dup
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            bipush -9
            iand
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
        15: .line 238
            iconst_1
            ireturn
        end local 1 // java.nio.ByteBuffer byteBuffer
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            3   16     1  byteBuffer  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException

  public void awaitWritable(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 243
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 3
         1: .line 244
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 3
         2: .line 245
            return
         3: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            lload 1 /* time */
            aload 3 /* timeUnit */
            invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:(JLjava/util/concurrent/TimeUnit;)V
         4: .line 249
            return
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long time
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0    5     1      time  J
            0    5     3  timeUnit  Ljava/util/concurrent/TimeUnit;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      time      
      timeUnit  

  public void awaitWritable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
         0: .line 253
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 4
         1: .line 254
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 3
         2: .line 255
            return
         3: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:()V
         4: .line 259
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
    Exceptions:
      throws java.io.IOException

  public boolean flush();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
         0: .line 263
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 8
         1: .line 264
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.flushBuffer:()Z
            ifne 3
         2: .line 265
            iconst_0
            ireturn
         3: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 7
         4: .line 268
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreClear:(II)Z
            ifeq 7
         5: .line 269
            aload 0 /* this */
            dup
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            iconst_2
            ior
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
         6: .line 270
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
         7: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            ireturn
         8: .line 274
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
    Exceptions:
      throws java.io.IOException

  public void terminateWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
         0: .line 279
            aload 0 /* this */
            dup
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            iconst_1
            ior
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
         1: .line 280
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            ifnonnull 4
         2: .line 281
            aload 0 /* this */
            dup
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
            iconst_2
            ior
            putfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.state:I
         3: .line 282
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
         4: .line 284
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
    Exceptions:
      throws java.io.IOException

  public void truncateWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
         0: .line 288
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.truncateWrites:()V
         1: .line 289
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1
         3: .line 290
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 5
         4: .line 291
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         5: .line 293
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1
            athrow
         6: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 8
         7: .line 291
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.buffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         8: .line 294
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.io.IOException

  public void exchangeComplete(io.undertow.server.HttpServerExchange);
    descriptor: (Lio/undertow/server/HttpServerExchange;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // io.undertow.server.HttpServerExchange exchange
         0: .line 300
            aload 1 /* exchange */
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            checkcast io.undertow.server.protocol.http.HttpServerConnection
            astore 2 /* connection */
        start local 2 // io.undertow.server.protocol.http.HttpServerConnection connection
         1: .line 301
            aload 2 /* connection */
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getExtraBytes:()Lio/undertow/connector/PooledByteBuffer;
            ifnull 2
            aload 1 /* exchange */
            invokevirtual io.undertow.server.HttpServerExchange.isUpgrade:()Z
            ifeq 4
         2: .line 302
      StackMap locals: io.undertow.server.protocol.http.HttpServerConnection
      StackMap stack:
            aload 0 /* this */
            aload 1 /* exchange */
            aload 2 /* connection */
            invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.performFlush:(Lio/undertow/server/HttpServerExchange;Lio/undertow/server/protocol/http/HttpServerConnection;)V
         3: .line 303
            goto 5
         4: .line 304
      StackMap locals:
      StackMap stack:
            aload 2 /* connection */
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getReadListener:()Lio/undertow/server/protocol/http/HttpReadListener;
            aload 1 /* exchange */
            invokevirtual io.undertow.server.protocol.http.HttpReadListener.exchangeComplete:(Lio/undertow/server/HttpServerExchange;)V
         5: .line 306
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.undertow.server.protocol.http.HttpServerConnection connection
        end local 1 // io.undertow.server.HttpServerExchange exchange
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0    6     1    exchange  Lio/undertow/server/HttpServerExchange;
            1    6     2  connection  Lio/undertow/server/protocol/http/HttpServerConnection;
    MethodParameters:
          Name  Flags
      exchange  final

  void performFlush(io.undertow.server.HttpServerExchange, io.undertow.server.protocol.http.HttpServerConnection);
    descriptor: (Lio/undertow/server/HttpServerExchange;Lio/undertow/server/protocol/http/HttpServerConnection;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
        start local 1 // io.undertow.server.HttpServerExchange exchange
        start local 2 // io.undertow.server.protocol.http.HttpServerConnection connection
         0: .line 310
            aload 2 /* connection */
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.resetChannel:()Lio/undertow/server/AbstractServerConnection$ConduitState;
            astore 3 /* oldState */
        start local 3 // io.undertow.server.AbstractServerConnection$ConduitState oldState
         1: .line 311
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.flushPipelinedData:()Z
            ifne 6
         2: .line 312
            aload 2 /* connection */
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getChannel:()Lorg/xnio/StreamConnection;
            astore 4 /* channel */
        start local 4 // org.xnio.StreamConnection channel
         3: .line 313
            aload 4 /* channel */
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            new io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit$1
            dup
            aload 0 /* this */
            aload 4 /* channel */
            aload 2 /* connection */
            aload 3 /* oldState */
            aload 1 /* exchange */
            invokespecial io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit$1.<init>:(Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;Lorg/xnio/StreamConnection;Lio/undertow/server/protocol/http/HttpServerConnection;Lio/undertow/server/AbstractServerConnection$ConduitState;Lio/undertow/server/HttpServerExchange;)V
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.setWriteListener:(Lorg/xnio/ChannelListener;)V
         4: .line 332
            aload 2 /* connection */
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getChannel:()Lorg/xnio/StreamConnection;
            invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.resumeWrites:()V
         5: .line 333
            return
        end local 4 // org.xnio.StreamConnection channel
         6: .line 335
      StackMap locals: io.undertow.server.AbstractServerConnection$ConduitState
      StackMap stack:
            aload 2 /* connection */
            aload 3 /* oldState */
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.restoreChannel:(Lio/undertow/server/AbstractServerConnection$ConduitState;)V
         7: .line 336
            aload 2 /* connection */
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getReadListener:()Lio/undertow/server/protocol/http/HttpReadListener;
            aload 1 /* exchange */
            invokevirtual io.undertow.server.protocol.http.HttpReadListener.exchangeComplete:(Lio/undertow/server/HttpServerExchange;)V
        end local 3 // io.undertow.server.AbstractServerConnection$ConduitState oldState
         8: .line 338
            goto 16
      StackMap locals: io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit io.undertow.server.HttpServerExchange io.undertow.server.protocol.http.HttpServerConnection
      StackMap stack: java.io.IOException
         9: astore 3 /* e */
        start local 3 // java.io.IOException e
        10: .line 339
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 3 /* e */
            invokeinterface io.undertow.UndertowLogger.ioException:(Ljava/io/IOException;)V
        11: .line 340
            aload 2 /* connection */
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getChannel:()Lorg/xnio/StreamConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        end local 3 // java.io.IOException e
        12: goto 16
        13: .line 341
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
        14: .line 342
            getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
            aload 3 /* t */
            invokeinterface io.undertow.UndertowLogger.handleUnexpectedFailure:(Ljava/lang/Throwable;)V
        15: .line 343
            aload 2 /* connection */
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getChannel:()Lorg/xnio/StreamConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        end local 3 // java.lang.Throwable t
        16: .line 345
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.undertow.server.protocol.http.HttpServerConnection connection
        end local 1 // io.undertow.server.HttpServerExchange exchange
        end local 0 // io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
            0   17     1    exchange  Lio/undertow/server/HttpServerExchange;
            0   17     2  connection  Lio/undertow/server/protocol/http/HttpServerConnection;
            1    8     3    oldState  Lio/undertow/server/AbstractServerConnection$ConduitState;
            3    6     4     channel  Lorg/xnio/StreamConnection;
           10   12     3           e  Ljava/io/IOException;
           14   16     3           t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     5       9  Class java.io.IOException
           6     8       9  Class java.io.IOException
           0     5      13  Class java.lang.Throwable
           6     8      13  Class java.lang.Throwable
    MethodParameters:
            Name  Flags
      exchange    final
      connection  final
}
Signature: Lorg/xnio/conduits/AbstractStreamSinkConduit<Lorg/xnio/conduits/StreamSinkConduit;>;
SourceFile: "PipeliningBufferingStreamSinkConduit.java"
NestMembers:
  io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit$1
InnerClasses:
  public ConduitState = io.undertow.server.AbstractServerConnection$ConduitState of io.undertow.server.AbstractServerConnection
  io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit$1