final class io.undertow.server.protocol.http.HttpResponseConduit extends org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.undertow.server.protocol.http.HttpResponseConduit
  super_class: org.xnio.conduits.AbstractStreamSinkConduit
{
  private final io.undertow.connector.ByteBufferPool pool;
    descriptor: Lio/undertow/connector/ByteBufferPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.undertow.server.protocol.http.HttpServerConnection connection;
    descriptor: Lio/undertow/server/protocol/http/HttpServerConnection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private long fiCookie;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  private io.undertow.util.HeaderValues headerValues;
    descriptor: Lio/undertow/util/HeaderValues;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private io.undertow.server.HttpServerExchange exchange;
    descriptor: Lio/undertow/server/HttpServerExchange;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.ByteBuffer[] writevBuffer;
    descriptor: [Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 52
            ldc Lio/undertow/server/protocol/http/HttpResponseConduit;
            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 io.undertow.server.protocol.http.HttpResponseConduit.$assertionsDisabled:Z
         3: .line 84
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.xnio.conduits.StreamSinkConduit, io.undertow.connector.ByteBufferPool, io.undertow.server.protocol.http.HttpServerConnection);
    descriptor: (Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/protocol/http/HttpServerConnection;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // org.xnio.conduits.StreamSinkConduit next
        start local 2 // io.undertow.connector.ByteBufferPool pool
        start local 3 // io.undertow.server.protocol.http.HttpServerConnection connection
         0: .line 87
            aload 0 /* this */
            aload 1 /* next */
            invokespecial org.xnio.conduits.AbstractStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
         1: .line 57
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
         2: .line 59
            aload 0 /* this */
            ldc -1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
         3: .line 69
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.http.HttpResponseConduit.done:Z
         4: .line 88
            aload 0 /* this */
            aload 2 /* pool */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pool:Lio/undertow/connector/ByteBufferPool;
         5: .line 89
            aload 0 /* this */
            aload 3 /* connection */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
         6: .line 90
            return
        end local 3 // io.undertow.server.protocol.http.HttpServerConnection connection
        end local 2 // io.undertow.connector.ByteBufferPool pool
        end local 1 // org.xnio.conduits.StreamSinkConduit next
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0    7     1        next  Lorg/xnio/conduits/StreamSinkConduit;
            0    7     2        pool  Lio/undertow/connector/ByteBufferPool;
            0    7     3  connection  Lio/undertow/server/protocol/http/HttpServerConnection;
    MethodParameters:
            Name  Flags
      next        final
      pool        final
      connection  

  void <init>(org.xnio.conduits.StreamSinkConduit, io.undertow.connector.ByteBufferPool, io.undertow.server.protocol.http.HttpServerConnection, io.undertow.server.HttpServerExchange);
    descriptor: (Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/protocol/http/HttpServerConnection;Lio/undertow/server/HttpServerExchange;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // org.xnio.conduits.StreamSinkConduit next
        start local 2 // io.undertow.connector.ByteBufferPool pool
        start local 3 // io.undertow.server.protocol.http.HttpServerConnection connection
        start local 4 // io.undertow.server.HttpServerExchange exchange
         0: .line 93
            aload 0 /* this */
            aload 1 /* next */
            invokespecial org.xnio.conduits.AbstractStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
         1: .line 57
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
         2: .line 59
            aload 0 /* this */
            ldc -1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
         3: .line 69
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.http.HttpResponseConduit.done:Z
         4: .line 94
            aload 0 /* this */
            aload 2 /* pool */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pool:Lio/undertow/connector/ByteBufferPool;
         5: .line 95
            aload 0 /* this */
            aload 3 /* connection */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
         6: .line 96
            aload 0 /* this */
            aload 4 /* exchange */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
         7: .line 97
            return
        end local 4 // io.undertow.server.HttpServerExchange exchange
        end local 3 // io.undertow.server.protocol.http.HttpServerConnection connection
        end local 2 // io.undertow.connector.ByteBufferPool pool
        end local 1 // org.xnio.conduits.StreamSinkConduit next
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0    8     1        next  Lorg/xnio/conduits/StreamSinkConduit;
            0    8     2        pool  Lio/undertow/connector/ByteBufferPool;
            0    8     3  connection  Lio/undertow/server/protocol/http/HttpServerConnection;
            0    8     4    exchange  Lio/undertow/server/HttpServerExchange;
    MethodParameters:
            Name  Flags
      next        final
      pool        final
      connection  
      exchange    

  void reset(io.undertow.server.HttpServerExchange);
    descriptor: (Lio/undertow/server/HttpServerExchange;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // io.undertow.server.HttpServerExchange exchange
         0: .line 100
            aload 0 /* this */
            aload 1 /* exchange */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
         1: .line 101
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
         2: .line 102
            aload 0 /* this */
            ldc -1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
         3: .line 103
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
         4: .line 104
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
         5: .line 105
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
         6: .line 106
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
         7: .line 107
            return
        end local 1 // io.undertow.server.HttpServerExchange exchange
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0    8     1  exchange  Lio/undertow/server/HttpServerExchange;
    MethodParameters:
          Name  Flags
      exchange  

  private int processWrite(int, java.lang.Object, int, int);
    descriptor: (ILjava/lang/Object;II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=16, args_size=5
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // int state
        start local 2 // java.lang.Object userData
        start local 3 // int pos
        start local 4 // int length
         0: .line 123
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.done:Z
            ifne 1
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
            ifnonnull 2
         1: .line 124
      StackMap locals:
      StackMap stack:
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 127
      StackMap locals:
      StackMap stack:
            getstatic io.undertow.server.protocol.http.HttpResponseConduit.$assertionsDisabled:Z
            ifne 3
            iload 1 /* state */
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 128
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            bipush 10
            if_icmpne 28
         4: .line 129
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 5 /* byteBuffer */
        start local 5 // java.nio.ByteBuffer byteBuffer
         5: .line 131
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            lconst_0
            lstore 6 /* res */
        start local 6 // long res
         6: .line 133
            aload 2 /* userData */
            ifnull 7
            iload 4 /* length */
            ifne 9
         7: .line 134
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 5 /* byteBuffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            i2l
            lstore 6 /* res */
         8: .line 135
            goto 23
      StackMap locals:
      StackMap stack:
         9: aload 2 /* userData */
            instanceof java.nio.ByteBuffer
            ifeq 17
        10: .line 136
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
            astore 8 /* data */
        start local 8 // java.nio.ByteBuffer[] data
        11: .line 137
            aload 8 /* data */
            ifnonnull 13
        12: .line 138
            aload 0 /* this */
            iconst_2
            anewarray java.nio.ByteBuffer
            dup_x1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
            astore 8 /* data */
        13: .line 140
      StackMap locals: java.nio.ByteBuffer[]
      StackMap stack:
            aload 8 /* data */
            iconst_0
            aload 5 /* byteBuffer */
            aastore
        14: .line 141
            aload 8 /* data */
            iconst_1
            aload 2 /* userData */
            checkcast java.nio.ByteBuffer
            aastore
        15: .line 142
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 8 /* data */
            iconst_0
            iconst_2
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            lstore 6 /* res */
        16: .line 143
            goto 23
        end local 8 // java.nio.ByteBuffer[] data
        17: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
            astore 8 /* data */
        start local 8 // java.nio.ByteBuffer[] data
        18: .line 145
            aload 8 /* data */
            ifnull 19
            aload 8 /* data */
            arraylength
            iload 4 /* length */
            iconst_1
            iadd
            if_icmpge 20
        19: .line 146
      StackMap locals: java.nio.ByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            iload 4 /* length */
            iconst_1
            iadd
            anewarray java.nio.ByteBuffer
            dup_x1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
            astore 8 /* data */
        20: .line 148
      StackMap locals:
      StackMap stack:
            aload 8 /* data */
            iconst_0
            aload 5 /* byteBuffer */
            aastore
        21: .line 149
            aload 2 /* userData */
            iload 3 /* pos */
            aload 8 /* data */
            iconst_1
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        22: .line 150
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 8 /* data */
            iconst_0
            iload 4 /* length */
            iconst_1
            iadd
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            lstore 6 /* res */
        end local 8 // java.nio.ByteBuffer[] data
        23: .line 152
      StackMap locals:
      StackMap stack:
            lload 6 /* res */
            lconst_0
            lcmp
            ifne 25
        24: .line 153
            bipush 10
            ireturn
        end local 6 // long res
        25: .line 155
      StackMap locals:
      StackMap stack:
            aload 5 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 5
        26: .line 156
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
        27: .line 157
            iconst_0
            ireturn
        end local 5 // java.nio.ByteBuffer byteBuffer
        28: .line 158
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            iconst_1
            if_icmpeq 31
        29: .line 159
            aload 0 /* this */
            iload 1 /* state */
            aload 2 /* userData */
            iload 3 /* pos */
            iload 4 /* length */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processStatefulWrite:(ILjava/lang/Object;II)I
        30: ireturn
        31: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokestatic io.undertow.server.Connectors.flattenCookies:(Lio/undertow/server/HttpServerExchange;)V
        32: .line 165
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnonnull 34
        33: .line 166
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pool:Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
        34: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 5 /* buffer */
        start local 5 // java.nio.ByteBuffer buffer
        35: .line 171
            getstatic io.undertow.server.protocol.http.HttpResponseConduit.$assertionsDisabled:Z
            ifne 36
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 50
            if_icmpge 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 172
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            getstatic io.undertow.util.Protocols.HTTP_1_1:Lio/undertow/util/HttpString;
            aload 5 /* buffer */
            invokevirtual io.undertow.util.HttpString.appendTo:(Ljava/nio/ByteBuffer;)V
        37: .line 173
            aload 5 /* buffer */
            bipush 32
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        38: .line 174
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getStatusCode:()I
            istore 6 /* code */
        start local 6 // int code
        39: .line 175
            getstatic io.undertow.server.protocol.http.HttpResponseConduit.$assertionsDisabled:Z
            ifne 41
            sipush 999
            iload 6 /* code */
            if_icmplt 40
            iload 6 /* code */
            bipush 100
            if_icmpge 41
      StackMap locals: int
      StackMap stack:
        40: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        41: .line 176
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            iload 6 /* code */
            bipush 100
            idiv
            bipush 48
            iadd
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        42: .line 177
            aload 5 /* buffer */
            iload 6 /* code */
            bipush 10
            idiv
            bipush 10
            irem
            bipush 48
            iadd
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        43: .line 178
            aload 5 /* buffer */
            iload 6 /* code */
            bipush 10
            irem
            bipush 48
            iadd
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        44: .line 179
            aload 5 /* buffer */
            bipush 32
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        45: .line 181
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getReasonPhrase:()Ljava/lang/String;
            astore 7 /* string */
        start local 7 // java.lang.String string
        46: .line 182
            aload 7 /* string */
            ifnonnull 48
        47: .line 183
            iload 6 /* code */
            invokestatic io.undertow.util.StatusCodes.getReason:(I)Ljava/lang/String;
            astore 7 /* string */
        48: .line 185
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* string */
            invokevirtual java.lang.String.length:()I
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 53
        49: .line 186
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        50: .line 187
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
        51: .line 188
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.truncateWrites:()V
        52: .line 189
            getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
            aload 7 /* string */
            invokeinterface io.undertow.UndertowMessages.reasonPhraseToLargeForBuffer:(Ljava/lang/String;)Ljava/lang/IllegalStateException;
            athrow
        53: .line 191
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            aload 7 /* string */
            invokestatic io.undertow.server.protocol.http.HttpResponseConduit.writeString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        54: .line 192
            aload 5 /* buffer */
            bipush 13
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            bipush 10
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        55: .line 194
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 8 /* remaining */
        start local 8 // int remaining
        56: .line 197
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
            astore 9 /* headers */
        start local 9 // io.undertow.util.HeaderMap headers
        57: .line 198
            aload 9 /* headers */
            invokevirtual io.undertow.util.HeaderMap.fastIterateNonEmpty:()J
            lstore 10 /* fiCookie */
        start local 10 // long fiCookie
        58: .line 199
            goto 93
        59: .line 200
      StackMap locals: int io.undertow.util.HeaderMap long
      StackMap stack:
            aload 9 /* headers */
            lload 10 /* fiCookie */
            invokevirtual io.undertow.util.HeaderMap.fiCurrent:(J)Lio/undertow/util/HeaderValues;
            astore 12 /* headerValues */
        start local 12 // io.undertow.util.HeaderValues headerValues
        60: .line 202
            aload 12 /* headerValues */
            invokevirtual io.undertow.util.HeaderValues.getHeaderName:()Lio/undertow/util/HttpString;
            astore 13 /* header */
        start local 13 // io.undertow.util.HttpString header
        61: .line 203
            aload 13 /* header */
            invokevirtual io.undertow.util.HttpString.length:()I
            istore 14 /* headerSize */
        start local 14 // int headerSize
        62: .line 204
            iconst_0
            istore 15 /* valueIdx */
        start local 15 // int valueIdx
        63: .line 205
            goto 91
        64: .line 206
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer int java.lang.String int io.undertow.util.HeaderMap long io.undertow.util.HeaderValues io.undertow.util.HttpString int int
      StackMap stack:
            iload 8 /* remaining */
            iload 14 /* headerSize */
            iconst_2
            iadd
            isub
            istore 8 /* remaining */
        65: .line 208
            iload 8 /* remaining */
            ifge 75
        66: .line 209
            aload 0 /* this */
            lload 10 /* fiCookie */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
        67: .line 210
            aload 0 /* this */
            aload 7 /* string */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
        68: .line 211
            aload 0 /* this */
            aload 12 /* headerValues */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
        69: .line 212
            aload 0 /* this */
            iload 15 /* valueIdx */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
        70: .line 213
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
        71: .line 214
            aload 0 /* this */
            iconst_2
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        72: .line 215
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        73: .line 216
            aload 0 /* this */
            iconst_2
            aload 2 /* userData */
            iload 3 /* pos */
            iload 4 /* length */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processStatefulWrite:(ILjava/lang/Object;II)I
        74: ireturn
        75: .line 218
      StackMap locals:
      StackMap stack:
            aload 13 /* header */
            aload 5 /* buffer */
            invokevirtual io.undertow.util.HttpString.appendTo:(Ljava/nio/ByteBuffer;)V
        76: .line 219
            aload 5 /* buffer */
            bipush 58
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            bipush 32
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        77: .line 220
            aload 12 /* headerValues */
            iload 15 /* valueIdx */
            iinc 15 /* valueIdx */ 1
            invokevirtual io.undertow.util.HeaderValues.get:(I)Ljava/lang/String;
            astore 7 /* string */
        78: .line 222
            iload 8 /* remaining */
            aload 7 /* string */
            invokevirtual java.lang.String.length:()I
            iconst_2
            iadd
            isub
            istore 8 /* remaining */
        79: .line 223
            iload 8 /* remaining */
            iconst_2
            if_icmpge 89
        80: .line 224
            aload 0 /* this */
            lload 10 /* fiCookie */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
        81: .line 225
            aload 0 /* this */
            aload 7 /* string */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
        82: .line 226
            aload 0 /* this */
            aload 12 /* headerValues */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
        83: .line 227
            aload 0 /* this */
            iload 15 /* valueIdx */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
        84: .line 228
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
        85: .line 229
            aload 0 /* this */
            iconst_5
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        86: .line 230
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        87: .line 231
            aload 0 /* this */
            iconst_5
            aload 2 /* userData */
            iload 3 /* pos */
            iload 4 /* length */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processStatefulWrite:(ILjava/lang/Object;II)I
        88: ireturn
        89: .line 233
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            aload 7 /* string */
            invokestatic io.undertow.server.protocol.http.HttpResponseConduit.writeString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
        90: .line 234
            aload 5 /* buffer */
            bipush 13
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            bipush 10
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        91: .line 205
      StackMap locals:
      StackMap stack:
            iload 15 /* valueIdx */
            aload 12 /* headerValues */
            invokevirtual io.undertow.util.HeaderValues.size:()I
            if_icmplt 64
        92: .line 236
            aload 9 /* headers */
            lload 10 /* fiCookie */
            invokevirtual io.undertow.util.HeaderMap.fiNextNonEmpty:(J)J
            lstore 10 /* fiCookie */
        end local 15 // int valueIdx
        end local 14 // int headerSize
        end local 13 // io.undertow.util.HttpString header
        end local 12 // io.undertow.util.HeaderValues headerValues
        93: .line 199
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer int java.lang.String int io.undertow.util.HeaderMap long
      StackMap stack:
            lload 10 /* fiCookie */
            ldc -1
            lcmp
            ifne 59
        94: .line 238
            aload 5 /* buffer */
            bipush 13
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            bipush 10
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        95: .line 239
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        96: .line 241
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 12 /* res */
        start local 12 // long res
        97: .line 243
            aload 2 /* userData */
            ifnonnull 100
        98: .line 244
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 5 /* buffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            i2l
            lstore 12 /* res */
        99: .line 245
            goto 114
      StackMap locals: long
      StackMap stack:
       100: aload 2 /* userData */
            instanceof java.nio.ByteBuffer
            ifeq 108
       101: .line 246
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
            astore 14 /* data */
        start local 14 // java.nio.ByteBuffer[] data
       102: .line 247
            aload 14 /* data */
            ifnonnull 104
       103: .line 248
            aload 0 /* this */
            iconst_2
            anewarray java.nio.ByteBuffer
            dup_x1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
            astore 14 /* data */
       104: .line 250
      StackMap locals: java.nio.ByteBuffer[]
      StackMap stack:
            aload 14 /* data */
            iconst_0
            aload 5 /* buffer */
            aastore
       105: .line 251
            aload 14 /* data */
            iconst_1
            aload 2 /* userData */
            checkcast java.nio.ByteBuffer
            aastore
       106: .line 252
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 14 /* data */
            iconst_0
            iconst_2
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            lstore 12 /* res */
       107: .line 253
            goto 114
        end local 14 // java.nio.ByteBuffer[] data
       108: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
            astore 14 /* data */
        start local 14 // java.nio.ByteBuffer[] data
       109: .line 255
            aload 14 /* data */
            ifnull 110
            aload 14 /* data */
            arraylength
            iload 4 /* length */
            iconst_1
            iadd
            if_icmpge 111
       110: .line 256
      StackMap locals: java.nio.ByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            iload 4 /* length */
            iconst_1
            iadd
            anewarray java.nio.ByteBuffer
            dup_x1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
            astore 14 /* data */
       111: .line 258
      StackMap locals:
      StackMap stack:
            aload 14 /* data */
            iconst_0
            aload 5 /* buffer */
            aastore
       112: .line 259
            aload 2 /* userData */
            iload 3 /* pos */
            aload 14 /* data */
            iconst_1
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       113: .line 260
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 14 /* data */
            iconst_0
            iload 4 /* length */
            iconst_1
            iadd
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            lstore 12 /* res */
        end local 14 // java.nio.ByteBuffer[] data
       114: .line 262
      StackMap locals:
      StackMap stack:
            lload 12 /* res */
            lconst_0
            lcmp
            ifne 116
       115: .line 263
            bipush 10
            ireturn
        end local 12 // long res
       116: .line 265
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 96
       117: .line 266
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
       118: .line 267
            iconst_0
            ireturn
        end local 10 // long fiCookie
        end local 9 // io.undertow.util.HeaderMap headers
        end local 8 // int remaining
        end local 7 // java.lang.String string
        end local 6 // int code
        end local 5 // java.nio.ByteBuffer buffer
       119: .line 268
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int
      StackMap stack: java.lang.Throwable
            astore 5 /* e */
        start local 5 // java.lang.Throwable e
       120: .line 270
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 123
       121: .line 271
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
       122: .line 272
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
       123: .line 274
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // java.lang.Throwable e
        end local 4 // int length
        end local 3 // int pos
        end local 2 // java.lang.Object userData
        end local 1 // int state
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  124     0          this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0  124     1         state  I
            0  124     2      userData  Ljava/lang/Object;
            0  124     3           pos  I
            0  124     4        length  I
            5   28     5    byteBuffer  Ljava/nio/ByteBuffer;
            6   25     6           res  J
           11   17     8          data  [Ljava/nio/ByteBuffer;
           18   23     8          data  [Ljava/nio/ByteBuffer;
           35  119     5        buffer  Ljava/nio/ByteBuffer;
           39  119     6          code  I
           46  119     7        string  Ljava/lang/String;
           56  119     8     remaining  I
           57  119     9       headers  Lio/undertow/util/HeaderMap;
           58  119    10      fiCookie  J
           60   93    12  headerValues  Lio/undertow/util/HeaderValues;
           61   93    13        header  Lio/undertow/util/HttpString;
           62   93    14    headerSize  I
           63   93    15      valueIdx  I
           97  116    12           res  J
          102  108    14          data  [Ljava/nio/ByteBuffer;
          109  114    14          data  [Ljava/nio/ByteBuffer;
          120  124     5             e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2    24     119  Class java.io.IOException
          25    27     119  Class java.io.IOException
          28    30     119  Class java.io.IOException
          31    74     119  Class java.io.IOException
          75    88     119  Class java.io.IOException
          89   115     119  Class java.io.IOException
         116   118     119  Class java.io.IOException
           2    24     119  Class java.lang.RuntimeException
          25    27     119  Class java.lang.RuntimeException
          28    30     119  Class java.lang.RuntimeException
          31    74     119  Class java.lang.RuntimeException
          75    88     119  Class java.lang.RuntimeException
          89   115     119  Class java.lang.RuntimeException
         116   118     119  Class java.lang.RuntimeException
           2    24     119  Class java.lang.Error
          25    27     119  Class java.lang.Error
          28    30     119  Class java.lang.Error
          31    74     119  Class java.lang.Error
          75    88     119  Class java.lang.Error
          89   115     119  Class java.lang.Error
         116   118     119  Class java.lang.Error
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      state     
      userData  final
      pos       
      length    

  private void bufferDone();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
         0: .line 279
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
            ifnonnull 2
         1: .line 280
            return
         2: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            checkcast io.undertow.server.protocol.http.HttpServerConnection
            astore 1 /* connection */
        start local 1 // io.undertow.server.protocol.http.HttpServerConnection connection
         3: .line 283
            aload 1 /* connection */
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getExtraBytes:()Lio/undertow/connector/PooledByteBuffer;
            ifnull 6
            aload 1 /* connection */
            invokevirtual io.undertow.server.protocol.http.HttpServerConnection.isOpen:()Z
            ifeq 6
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.isRequestComplete:()Z
            ifeq 6
         4: .line 285
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
         5: .line 286
            goto 9
         6: .line 288
      StackMap locals: io.undertow.server.protocol.http.HttpServerConnection
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         7: .line 289
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
         8: .line 290
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
         9: .line 292
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.undertow.server.protocol.http.HttpServerConnection connection
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            3   10     1  connection  Lio/undertow/server/protocol/http/HttpServerConnection;

  public void freeContinueResponse();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
         0: .line 295
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 3
         1: .line 296
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         2: .line 297
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
         3: .line 299
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/server/protocol/http/HttpResponseConduit;

  private static void writeString(java.nio.ByteBuffer, java.lang.String);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.nio.ByteBuffer buffer
        start local 1 // java.lang.String string
         0: .line 302
            aload 1 /* string */
            invokevirtual java.lang.String.length:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 303
            iconst_0
            istore 3 /* charIndex */
        start local 3 // int charIndex
         2: goto 10
         3: .line 304
      StackMap locals: int int
      StackMap stack:
            aload 1 /* string */
            iload 3 /* charIndex */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         4: .line 305
            iload 4 /* c */
            i2b
            istore 5 /* b */
        start local 5 // byte b
         5: .line 306
            iload 5 /* b */
            bipush 13
            if_icmpeq 8
            iload 5 /* b */
            bipush 10
            if_icmpeq 8
         6: .line 307
            aload 0 /* buffer */
            iload 5 /* b */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         7: .line 308
            goto 9
         8: .line 309
      StackMap locals: int int
      StackMap stack:
            aload 0 /* buffer */
            bipush 32
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        end local 5 // byte b
        end local 4 // char c
         9: .line 303
      StackMap locals:
      StackMap stack:
            iinc 3 /* charIndex */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* charIndex */
            iload 2 /* length */
            if_icmplt 3
        end local 3 // int charIndex
        11: .line 312
            return
        end local 2 // int length
        end local 1 // java.lang.String string
        end local 0 // java.nio.ByteBuffer buffer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0     buffer  Ljava/nio/ByteBuffer;
            0   12     1     string  Ljava/lang/String;
            1   12     2     length  I
            2   11     3  charIndex  I
            4    9     4          c  C
            5    9     5          b  B
    MethodParameters:
        Name  Flags
      buffer  
      string  

  private int processStatefulWrite(int, java.lang.Object, int, int);
    descriptor: (ILjava/lang/Object;II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=18, args_size=5
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // int state
        start local 2 // java.lang.Object userData
        start local 3 // int pos
        start local 4 // int len
         0: .line 319
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 5 /* buffer */
        start local 5 // java.nio.ByteBuffer buffer
         1: .line 320
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
            lstore 6 /* fiCookie */
        start local 6 // long fiCookie
         2: .line 321
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
            istore 8 /* valueIdx */
        start local 8 // int valueIdx
         3: .line 322
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
            istore 9 /* charIndex */
        start local 9 // int charIndex
         4: .line 324
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
            astore 11 /* string */
        start local 11 // java.lang.String string
         5: .line 325
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
            astore 12 /* headerValues */
        start local 12 // io.undertow.util.HeaderValues headerValues
         6: .line 328
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 11
         7: .line 330
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 5 /* buffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            istore 13 /* res */
        start local 13 // int res
         8: .line 331
            iload 13 /* res */
            ifne 10
         9: .line 332
            iload 1 /* state */
            ireturn
        10: .line 334
      StackMap locals: int
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 7
        end local 13 // int res
        11: .line 336
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        12: .line 337
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
            astore 14 /* headers */
        start local 14 // io.undertow.util.HeaderMap headers
        13: .line 340
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
      StackMap stack:
            iload 1 /* state */
            tableswitch { // 2 - 10
                    2: 14
                    3: 32
                    4: 45
                    5: 60
                    6: 126
                    7: 130
                    8: 142
                    9: 146
                   10: 174
              default: 176
          }
        14: .line 342
      StackMap locals:
      StackMap stack:
            aload 12 /* headerValues */
            invokevirtual io.undertow.util.HeaderValues.getHeaderName:()Lio/undertow/util/HttpString;
            astore 15 /* headerName */
        start local 15 // io.undertow.util.HttpString headerName
        15: .line 343
            aload 15 /* headerName */
            invokevirtual io.undertow.util.HttpString.length:()I
            istore 10 /* length */
        start local 10 // int length
        16: .line 344
            goto 31
        17: .line 345
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap io.undertow.util.HttpString
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 20
        18: .line 346
            aload 5 /* buffer */
            aload 15 /* headerName */
            iload 9 /* charIndex */
            iinc 9 /* charIndex */ 1
            invokevirtual io.undertow.util.HttpString.byteAt:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        19: .line 347
            goto 31
        20: .line 348
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        21: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 5 /* buffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            istore 13 /* res */
        start local 13 // int res
        22: .line 351
            iload 13 /* res */
            ifne 29
        23: .line 352
            aload 0 /* this */
            aload 11 /* string */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
        24: .line 353
            aload 0 /* this */
            aload 12 /* headerValues */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
        25: .line 354
            aload 0 /* this */
            iload 9 /* charIndex */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
        26: .line 355
            aload 0 /* this */
            lload 6 /* fiCookie */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
        27: .line 356
            aload 0 /* this */
            iload 8 /* valueIdx */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
        28: .line 357
            iconst_2
            ireturn
        29: .line 359
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap io.undertow.util.HttpString
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 21
        30: .line 360
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        end local 13 // int res
        31: .line 344
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap io.undertow.util.HttpString
      StackMap stack:
            iload 9 /* charIndex */
            iload 10 /* length */
            if_icmplt 17
        end local 15 // io.undertow.util.HttpString headerName
        end local 10 // int length
        32: .line 366
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 44
        33: .line 367
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        34: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 5 /* buffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            istore 13 /* res */
        start local 13 // int res
        35: .line 370
            iload 13 /* res */
            ifne 42
        36: .line 371
            aload 0 /* this */
            aload 11 /* string */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
        37: .line 372
            aload 0 /* this */
            aload 12 /* headerValues */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
        38: .line 373
            aload 0 /* this */
            iload 9 /* charIndex */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
        39: .line 374
            aload 0 /* this */
            lload 6 /* fiCookie */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
        40: .line 375
            aload 0 /* this */
            iload 8 /* valueIdx */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
        41: .line 376
            iconst_3
            ireturn
        42: .line 378
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 34
        43: .line 379
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        end local 13 // int res
        44: .line 381
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
      StackMap stack:
            aload 5 /* buffer */
            bipush 58
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        45: .line 385
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 57
        46: .line 386
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        47: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 5 /* buffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            istore 13 /* res */
        start local 13 // int res
        48: .line 389
            iload 13 /* res */
            ifne 55
        49: .line 390
            aload 0 /* this */
            aload 11 /* string */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
        50: .line 391
            aload 0 /* this */
            aload 12 /* headerValues */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
        51: .line 392
            aload 0 /* this */
            iload 9 /* charIndex */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
        52: .line 393
            aload 0 /* this */
            lload 6 /* fiCookie */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
        53: .line 394
            aload 0 /* this */
            iload 8 /* valueIdx */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
        54: .line 395
            iconst_4
            ireturn
        55: .line 397
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 47
        56: .line 398
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        end local 13 // int res
        57: .line 400
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
      StackMap stack:
            aload 5 /* buffer */
            bipush 32
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        58: .line 404
            aload 12 /* headerValues */
            iload 8 /* valueIdx */
            iinc 8 /* valueIdx */ 1
            invokevirtual io.undertow.util.HeaderValues.get:(I)Ljava/lang/String;
            astore 11 /* string */
        59: .line 405
            iconst_0
            istore 9 /* charIndex */
        60: .line 409
      StackMap locals:
      StackMap stack:
            aload 11 /* string */
            invokevirtual java.lang.String.length:()I
            istore 10 /* length */
        start local 10 // int length
        61: .line 410
            goto 76
        62: .line 411
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 65
        63: .line 412
            aload 5 /* buffer */
            aload 11 /* string */
            iload 9 /* charIndex */
            iinc 9 /* charIndex */ 1
            invokevirtual java.lang.String.charAt:(I)C
            i2b
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        64: .line 413
            goto 76
        65: .line 414
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        66: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 5 /* buffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            istore 13 /* res */
        start local 13 // int res
        67: .line 417
            iload 13 /* res */
            ifne 74
        68: .line 418
            aload 0 /* this */
            aload 11 /* string */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
        69: .line 419
            aload 0 /* this */
            aload 12 /* headerValues */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
        70: .line 420
            aload 0 /* this */
            iload 9 /* charIndex */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
        71: .line 421
            aload 0 /* this */
            lload 6 /* fiCookie */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
        72: .line 422
            aload 0 /* this */
            iload 8 /* valueIdx */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
        73: .line 423
            iconst_5
            ireturn
        74: .line 425
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 66
        75: .line 426
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        end local 13 // int res
        76: .line 410
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
      StackMap stack:
            iload 9 /* charIndex */
            iload 10 /* length */
            if_icmplt 62
        77: .line 429
            iconst_0
            istore 9 /* charIndex */
        78: .line 430
            iload 8 /* valueIdx */
            aload 12 /* headerValues */
            invokevirtual io.undertow.util.HeaderValues.size:()I
            if_icmpne 126
        79: .line 431
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 82
        80: .line 432
            aload 0 /* this */
            aload 5 /* buffer */
            aload 11 /* string */
            aload 12 /* headerValues */
            iload 9 /* charIndex */
            lload 6 /* fiCookie */
            iload 8 /* valueIdx */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
            ifeq 82
        81: .line 433
            bipush 6
            ireturn
        82: .line 435
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            bipush 13
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        83: .line 436
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 86
        84: .line 437
            aload 0 /* this */
            aload 5 /* buffer */
            aload 11 /* string */
            aload 12 /* headerValues */
            iload 9 /* charIndex */
            lload 6 /* fiCookie */
            iload 8 /* valueIdx */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
            ifeq 86
        85: .line 438
            bipush 7
            ireturn
        86: .line 440
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            bipush 10
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        87: .line 441
            aload 14 /* headers */
            lload 6 /* fiCookie */
            invokevirtual io.undertow.util.HeaderMap.fiNextNonEmpty:(J)J
            dup2
            lstore 6 /* fiCookie */
            ldc -1
            lcmp
            ifeq 92
        88: .line 442
            aload 14 /* headers */
            lload 6 /* fiCookie */
            invokevirtual io.undertow.util.HeaderMap.fiCurrent:(J)Lio/undertow/util/HeaderValues;
            astore 12 /* headerValues */
        89: .line 443
            iconst_0
            istore 8 /* valueIdx */
        90: .line 444
            iconst_2
            istore 1 /* state */
        91: .line 445
            goto 13
        92: .line 447
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 95
        93: .line 448
            aload 0 /* this */
            aload 5 /* buffer */
            aload 11 /* string */
            aload 12 /* headerValues */
            iload 9 /* charIndex */
            lload 6 /* fiCookie */
            iload 8 /* valueIdx */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
            ifeq 95
        94: .line 449
            bipush 8
            ireturn
        95: .line 451
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            bipush 13
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        96: .line 452
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 99
        97: .line 453
            aload 0 /* this */
            aload 5 /* buffer */
            aload 11 /* string */
            aload 12 /* headerValues */
            iload 9 /* charIndex */
            lload 6 /* fiCookie */
            iload 8 /* valueIdx */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
            ifeq 99
        98: .line 454
            bipush 9
            ireturn
        99: .line 456
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            bipush 10
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       100: .line 457
            aload 0 /* this */
            ldc -1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
       101: .line 458
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
       102: .line 459
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
       103: .line 460
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
       104: .line 462
            aload 2 /* userData */
            ifnonnull 110
       105: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 5 /* buffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            istore 13 /* res */
        start local 13 // int res
       106: .line 465
            iload 13 /* res */
            ifne 108
       107: .line 466
            bipush 10
            ireturn
       108: .line 468
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 105
       109: .line 469
            goto 124
        end local 13 // int res
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
      StackMap stack:
       110: aload 2 /* userData */
            instanceof java.nio.ByteBuffer
            ifeq 117
       111: .line 470
            iconst_2
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 5 /* buffer */
            aastore
            dup
            iconst_1
            aload 2 /* userData */
            checkcast java.nio.ByteBuffer
            aastore
            astore 15 /* b */
        start local 15 // java.nio.ByteBuffer[] b
       112: .line 472
      StackMap locals: java.nio.ByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 15 /* b */
            iconst_0
            aload 15 /* b */
            arraylength
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            lstore 16 /* r */
        start local 16 // long r
       113: .line 473
            lload 16 /* r */
            lconst_0
            lcmp
            ifne 115
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 115
       114: .line 474
            bipush 10
            ireturn
        end local 16 // long r
       115: .line 476
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 112
        end local 15 // java.nio.ByteBuffer[] b
       116: .line 477
            goto 124
       117: .line 478
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 4 /* len */
            iadd
            anewarray java.nio.ByteBuffer
            astore 15 /* b */
        start local 15 // java.nio.ByteBuffer[] b
       118: .line 479
            aload 15 /* b */
            iconst_0
            aload 5 /* buffer */
            aastore
       119: .line 480
            aload 2 /* userData */
            iload 3 /* pos */
            aload 15 /* b */
            iconst_1
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       120: .line 482
      StackMap locals: java.nio.ByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 15 /* b */
            iconst_0
            aload 15 /* b */
            arraylength
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            lstore 16 /* r */
        start local 16 // long r
       121: .line 483
            lload 16 /* r */
            lconst_0
            lcmp
            ifne 123
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 123
       122: .line 484
            bipush 10
            ireturn
        end local 16 // long r
       123: .line 486
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 120
        end local 15 // java.nio.ByteBuffer[] b
       124: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
       125: .line 489
            iconst_0
            ireturn
        end local 10 // int length
       126: .line 497
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 129
       127: .line 498
            aload 0 /* this */
            aload 5 /* buffer */
            aload 11 /* string */
            aload 12 /* headerValues */
            iload 9 /* charIndex */
            lload 6 /* fiCookie */
            iload 8 /* valueIdx */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
            ifeq 129
       128: .line 499
            bipush 6
            ireturn
       129: .line 501
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            bipush 13
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       130: .line 504
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 133
       131: .line 505
            aload 0 /* this */
            aload 5 /* buffer */
            aload 11 /* string */
            aload 12 /* headerValues */
            iload 9 /* charIndex */
            lload 6 /* fiCookie */
            iload 8 /* valueIdx */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
            ifeq 133
       132: .line 506
            bipush 7
            ireturn
       133: .line 508
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            bipush 10
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       134: .line 509
            iload 8 /* valueIdx */
            aload 12 /* headerValues */
            invokevirtual io.undertow.util.HeaderValues.size:()I
            if_icmpge 137
       135: .line 510
            iconst_2
            istore 1 /* state */
       136: .line 511
            goto 13
       137: .line 512
      StackMap locals:
      StackMap stack:
            aload 14 /* headers */
            lload 6 /* fiCookie */
            invokevirtual io.undertow.util.HeaderMap.fiNextNonEmpty:(J)J
            dup2
            lstore 6 /* fiCookie */
            ldc -1
            lcmp
            ifeq 142
       138: .line 513
            aload 14 /* headers */
            lload 6 /* fiCookie */
            invokevirtual io.undertow.util.HeaderMap.fiCurrent:(J)Lio/undertow/util/HeaderValues;
            astore 12 /* headerValues */
       139: .line 514
            iconst_0
            istore 8 /* valueIdx */
       140: .line 515
            iconst_2
            istore 1 /* state */
       141: .line 516
            goto 13
       142: .line 521
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 145
       143: .line 522
            aload 0 /* this */
            aload 5 /* buffer */
            aload 11 /* string */
            aload 12 /* headerValues */
            iload 9 /* charIndex */
            lload 6 /* fiCookie */
            iload 8 /* valueIdx */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
            ifeq 145
       144: .line 523
            bipush 8
            ireturn
       145: .line 525
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            bipush 13
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       146: .line 529
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 149
       147: .line 530
            aload 0 /* this */
            aload 5 /* buffer */
            aload 11 /* string */
            aload 12 /* headerValues */
            iload 9 /* charIndex */
            lload 6 /* fiCookie */
            iload 8 /* valueIdx */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
            ifeq 149
       148: .line 531
            bipush 9
            ireturn
       149: .line 533
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            bipush 10
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
       150: .line 534
            aload 0 /* this */
            ldc -1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
       151: .line 535
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
       152: .line 536
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
       153: .line 537
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
       154: .line 539
            aload 2 /* userData */
            ifnonnull 160
       155: .line 541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 5 /* buffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            istore 13 /* res */
        start local 13 // int res
       156: .line 542
            iload 13 /* res */
            ifne 158
       157: .line 543
            bipush 10
            ireturn
       158: .line 545
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 155
       159: .line 546
            goto 174
        end local 13 // int res
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
      StackMap stack:
       160: aload 2 /* userData */
            instanceof java.nio.ByteBuffer
            ifeq 167
       161: .line 547
            iconst_2
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 5 /* buffer */
            aastore
            dup
            iconst_1
            aload 2 /* userData */
            checkcast java.nio.ByteBuffer
            aastore
            astore 15 /* b */
        start local 15 // java.nio.ByteBuffer[] b
       162: .line 549
      StackMap locals: java.nio.ByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 15 /* b */
            iconst_0
            aload 15 /* b */
            arraylength
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            lstore 16 /* r */
        start local 16 // long r
       163: .line 550
            lload 16 /* r */
            lconst_0
            lcmp
            ifne 165
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 165
       164: .line 551
            bipush 10
            ireturn
        end local 16 // long r
       165: .line 553
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 162
        end local 15 // java.nio.ByteBuffer[] b
       166: .line 554
            goto 174
       167: .line 555
      StackMap locals:
      StackMap stack:
            iconst_1
            iload 4 /* len */
            iadd
            anewarray java.nio.ByteBuffer
            astore 15 /* b */
        start local 15 // java.nio.ByteBuffer[] b
       168: .line 556
            aload 15 /* b */
            iconst_0
            aload 5 /* buffer */
            aastore
       169: .line 557
            aload 2 /* userData */
            iload 3 /* pos */
            aload 15 /* b */
            iconst_1
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       170: .line 559
      StackMap locals: java.nio.ByteBuffer[]
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 15 /* b */
            iconst_0
            aload 15 /* b */
            arraylength
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            lstore 16 /* r */
        start local 16 // long r
       171: .line 560
            lload 16 /* r */
            lconst_0
            lcmp
            ifne 173
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 173
       172: .line 561
            bipush 10
            ireturn
        end local 16 // long r
       173: .line 563
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 170
        end local 15 // java.nio.ByteBuffer[] b
       174: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
       175: .line 570
            iconst_0
            ireturn
       176: .line 573
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 14 // io.undertow.util.HeaderMap headers
        end local 12 // io.undertow.util.HeaderValues headerValues
        end local 11 // java.lang.String string
        end local 9 // int charIndex
        end local 8 // int valueIdx
        end local 6 // long fiCookie
        end local 5 // java.nio.ByteBuffer buffer
        end local 4 // int len
        end local 3 // int pos
        end local 2 // java.lang.Object userData
        end local 1 // int state
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  177     0          this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0  177     1         state  I
            0  177     2      userData  Ljava/lang/Object;
            0  177     3           pos  I
            0  177     4           len  I
            1  177     5        buffer  Ljava/nio/ByteBuffer;
            2  177     6      fiCookie  J
            3  177     8      valueIdx  I
            4  177     9     charIndex  I
           16   32    10        length  I
           61  126    10        length  I
            5  177    11        string  Ljava/lang/String;
            6  177    12  headerValues  Lio/undertow/util/HeaderValues;
            8   11    13           res  I
           22   31    13           res  I
           35   44    13           res  I
           48   57    13           res  I
           67   76    13           res  I
          106  110    13           res  I
          156  160    13           res  I
           13  177    14       headers  Lio/undertow/util/HeaderMap;
           15   32    15    headerName  Lio/undertow/util/HttpString;
          112  116    15             b  [Ljava/nio/ByteBuffer;
          113  115    16             r  J
          118  124    15             b  [Ljava/nio/ByteBuffer;
          121  123    16             r  J
          162  166    15             b  [Ljava/nio/ByteBuffer;
          163  165    16             r  J
          168  174    15             b  [Ljava/nio/ByteBuffer;
          171  173    16             r  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      state     
      userData  final
      pos       
      len       

  private boolean flushHeaderBuffer(java.nio.ByteBuffer, java.lang.String, io.undertow.util.HeaderValues, int, long, int);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=7
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // java.lang.String string
        start local 3 // io.undertow.util.HeaderValues headerValues
        start local 4 // int charIndex
        start local 5 // long fiCookie
        start local 7 // int valueIdx
         0: .line 581
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         1: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* buffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            istore 8 /* res */
        start local 8 // int res
         2: .line 584
            iload 8 /* res */
            ifne 9
         3: .line 585
            aload 0 /* this */
            aload 2 /* string */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
         4: .line 586
            aload 0 /* this */
            aload 3 /* headerValues */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
         5: .line 587
            aload 0 /* this */
            iload 4 /* charIndex */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
         6: .line 588
            aload 0 /* this */
            lload 5 /* fiCookie */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
         7: .line 589
            aload 0 /* this */
            iload 7 /* valueIdx */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
         8: .line 590
            iconst_1
            ireturn
         9: .line 592
      StackMap locals: int
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 1
        10: .line 593
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        11: .line 594
            iconst_0
            ireturn
        end local 8 // int res
        end local 7 // int valueIdx
        end local 5 // long fiCookie
        end local 4 // int charIndex
        end local 3 // io.undertow.util.HeaderValues headerValues
        end local 2 // java.lang.String string
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0   12     1        buffer  Ljava/nio/ByteBuffer;
            0   12     2        string  Ljava/lang/String;
            0   12     3  headerValues  Lio/undertow/util/HeaderValues;
            0   12     4     charIndex  I
            0   12     5      fiCookie  J
            0   12     7      valueIdx  I
            2   12     8           res  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      buffer        
      string        
      headerValues  
      charIndex     
      fiCookie      
      valueIdx      

  public int write(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // java.nio.ByteBuffer src
         0: .line 599
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
            istore 2 /* oldState */
        start local 2 // int oldState
         1: .line 600
            iload 2 /* oldState */
            bipush 15
            iand
            istore 3 /* state */
        start local 3 // int state
         2: .line 601
            iconst_0
            istore 4 /* alreadyWritten */
        start local 4 // int alreadyWritten
         3: .line 602
            iconst_m1
            istore 5 /* originalRemaining */
        start local 5 // int originalRemaining
         4: .line 604
            iload 3 /* state */
            ifeq 14
         5: .line 605
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* originalRemaining */
         6: .line 606
            aload 0 /* this */
            iload 3 /* state */
            aload 1 /* src */
            iconst_m1
            iconst_m1
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processWrite:(ILjava/lang/Object;II)I
            istore 3 /* state */
         7: .line 607
            iload 3 /* state */
            ifeq 10
         8: .line 621
            aload 0 /* this */
            iload 2 /* oldState */
            bipush -16
            iand
            iload 3 /* state */
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
         9: .line 608
            iconst_0
            ireturn
        10: .line 610
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.ByteBuffer int int int int
      StackMap stack:
            iload 5 /* originalRemaining */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            isub
            istore 4 /* alreadyWritten */
        11: .line 611
            iload 2 /* oldState */
            bipush 16
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 14
        12: .line 612
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
        13: .line 613
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
        14: .line 616
      StackMap locals:
      StackMap stack:
            iload 4 /* alreadyWritten */
            iload 5 /* originalRemaining */
            if_icmpeq 18
        15: .line 617
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* src */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            iload 4 /* alreadyWritten */
            iadd
            istore 7
        16: .line 621
            aload 0 /* this */
            iload 2 /* oldState */
            bipush -16
            iand
            iload 3 /* state */
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        17: .line 617
            iload 7
            ireturn
        18: .line 619
      StackMap locals:
      StackMap stack:
            iload 4 /* alreadyWritten */
            istore 7
        19: .line 621
            aload 0 /* this */
            iload 2 /* oldState */
            bipush -16
            iand
            iload 3 /* state */
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        20: .line 619
            iload 7
            ireturn
        21: .line 620
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        22: .line 621
            aload 0 /* this */
            iload 2 /* oldState */
            bipush -16
            iand
            iload 3 /* state */
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        23: .line 622
            aload 6
            athrow
        end local 5 // int originalRemaining
        end local 4 // int alreadyWritten
        end local 3 // int state
        end local 2 // int oldState
        24: .line 623
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.ByteBuffer
      StackMap stack: java.lang.Throwable
            astore 2 /* e */
        start local 2 // java.lang.Throwable e
        25: .line 624
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        26: .line 625
            aload 2 /* e */
            athrow
        end local 2 // java.lang.Throwable e
        end local 1 // java.nio.ByteBuffer src
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   27     0               this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0   27     1                src  Ljava/nio/ByteBuffer;
            1   24     2           oldState  I
            2   24     3              state  I
            3   24     4     alreadyWritten  I
            4   24     5  originalRemaining  I
           25   27     2                  e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     8      21  any
          10    16      21  any
          18    19      21  any
           0     9      24  Class java.io.IOException
          10    17      24  Class java.io.IOException
          18    20      24  Class java.io.IOException
          21    24      24  Class java.io.IOException
           0     9      24  Class java.lang.RuntimeException
          10    17      24  Class java.lang.RuntimeException
          18    20      24  Class java.lang.RuntimeException
          21    24      24  Class java.lang.RuntimeException
           0     9      24  Class java.lang.Error
          10    17      24  Class java.lang.Error
          18    20      24  Class java.lang.Error
          21    24      24  Class java.lang.Error
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      src   final

  public long write(java.nio.ByteBuffer[]);
    descriptor: ([Ljava/nio/ByteBuffer;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // java.nio.ByteBuffer[] srcs
         0: .line 630
            aload 0 /* this */
            aload 1 /* srcs */
            iconst_0
            aload 1 /* srcs */
            arraylength
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.write:([Ljava/nio/ByteBuffer;II)J
            lreturn
        end local 1 // java.nio.ByteBuffer[] srcs
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0    1     1  srcs  [Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      srcs  final

  public long write(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int offset
        start local 3 // int length
         0: .line 634
            iload 3 /* length */
            ifne 2
         1: .line 635
            lconst_0
            lreturn
         2: .line 637
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
            istore 4 /* oldVal */
        start local 4 // int oldVal
         3: .line 638
            iload 4 /* oldVal */
            bipush 15
            iand
            istore 5 /* state */
        start local 5 // int state
         4: .line 640
            iload 5 /* state */
            ifeq 18
         5: .line 641
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;II)J
            lstore 6 /* rem */
        start local 6 // long rem
         6: .line 642
            aload 0 /* this */
            iload 5 /* state */
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processWrite:(ILjava/lang/Object;II)I
            istore 5 /* state */
         7: .line 644
            lload 6 /* rem */
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;II)J
            lsub
            lstore 8 /* ret */
        start local 8 // long ret
         8: .line 645
            iload 5 /* state */
            ifeq 12
         9: .line 646
            lload 8 /* ret */
            lstore 11
        10: .line 660
            aload 0 /* this */
            iload 4 /* oldVal */
            bipush -16
            iand
            iload 5 /* state */
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        11: .line 646
            lload 11
            lreturn
        12: .line 648
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.ByteBuffer[] int int int int long long
      StackMap stack:
            iload 4 /* oldVal */
            bipush 16
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 15
        13: .line 649
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
        14: .line 650
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
        15: .line 653
      StackMap locals:
      StackMap stack:
            lload 8 /* ret */
            lstore 11
        16: .line 660
            aload 0 /* this */
            iload 4 /* oldVal */
            bipush -16
            iand
            iload 5 /* state */
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        17: .line 653
            lload 11
            lreturn
        end local 8 // long ret
        end local 6 // long rem
        18: .line 655
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            iconst_1
            if_icmpne 19
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* srcs */
            iload 2 /* offset */
            aaload
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            i2l
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* srcs */
            iload 2 /* offset */
            iload 3 /* length */
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
      StackMap locals:
      StackMap stack: long
        20: lstore 11
        21: .line 660
            aload 0 /* this */
            iload 4 /* oldVal */
            bipush -16
            iand
            iload 5 /* state */
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        22: .line 655
            lload 11
            lreturn
        23: .line 656
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* e */
        start local 6 // java.lang.Throwable e
        24: .line 657
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        25: .line 658
            aload 6 /* e */
            athrow
        end local 6 // java.lang.Throwable e
        26: .line 659
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        27: .line 660
            aload 0 /* this */
            iload 4 /* oldVal */
            bipush -16
            iand
            iload 5 /* state */
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        28: .line 661
            aload 10
            athrow
        end local 5 // int state
        end local 4 // int oldVal
        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.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   29     0    this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0   29     1    srcs  [Ljava/nio/ByteBuffer;
            0   29     2  offset  I
            0   29     3  length  I
            3   29     4  oldVal  I
            4   29     5   state  I
            6   18     6     rem  J
            8   18     8     ret  J
           24   26     6       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    10      23  Class java.io.IOException
          12    16      23  Class java.io.IOException
          18    21      23  Class java.io.IOException
           4    10      23  Class java.lang.RuntimeException
          12    16      23  Class java.lang.RuntimeException
          18    21      23  Class java.lang.RuntimeException
           4    10      23  Class java.lang.Error
          12    16      23  Class java.lang.Error
          18    21      23  Class java.lang.Error
           4    10      26  any
          12    16      26  any
          18    21      26  any
          23    26      26  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      srcs    final
      offset  final
      length  final

  public long transferFrom(java.nio.channels.FileChannel, long, long);
    descriptor: (Ljava/nio/channels/FileChannel;JJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // java.nio.channels.FileChannel src
        start local 2 // long position
        start local 4 // long count
         0: .line 666
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 18
         1: .line 668
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.write:(Ljava/nio/ByteBuffer;)I
            i2l
            lstore 8
         2: .line 676
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 6
         3: .line 677
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 6
         4: .line 678
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         5: .line 679
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
         6: .line 668
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long top top long
      StackMap stack:
            lload 8
            lreturn
         7: .line 669
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long
      StackMap stack: java.lang.Throwable
            astore 6 /* e */
        start local 6 // java.lang.Throwable e
         8: .line 670
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 11
         9: .line 671
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        10: .line 672
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
        11: .line 674
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 6 /* e */
            athrow
        end local 6 // java.lang.Throwable e
        12: .line 675
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long
      StackMap stack: java.lang.Throwable
            astore 7
        13: .line 676
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 17
        14: .line 677
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 17
        15: .line 678
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        16: .line 679
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
        17: .line 682
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        18: .line 683
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
            ifeq 42
        19: .line 684
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getByteBufferPool:()Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            astore 6 /* pooled */
        start local 6 // io.undertow.connector.PooledByteBuffer pooled
        20: .line 686
            aload 6 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 7 /* buffer */
        start local 7 // java.nio.ByteBuffer buffer
        21: .line 688
            aload 1 /* src */
            aload 7 /* buffer */
            invokevirtual java.nio.channels.FileChannel.read:(Ljava/nio/ByteBuffer;)I
            istore 8 /* res */
        start local 8 // int res
        22: .line 689
            aload 7 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        23: .line 690
            iload 8 /* res */
            ifgt 30
        24: .line 691
            iload 8 /* res */
            i2l
            lstore 10
        25: .line 695
            aload 7 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 28
        26: .line 696
            aload 0 /* this */
            aload 6 /* pooled */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
        27: .line 697
            goto 29
        28: .line 698
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int top long
      StackMap stack:
            aload 6 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        29: .line 691
      StackMap locals:
      StackMap stack:
            lload 10
            lreturn
        30: .line 693
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int
      StackMap stack:
            aload 0 /* this */
            aload 7 /* buffer */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.write:(Ljava/nio/ByteBuffer;)I
            i2l
            lstore 10
        31: .line 695
            aload 7 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 34
        32: .line 696
            aload 0 /* this */
            aload 6 /* pooled */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
        33: .line 697
            goto 35
        34: .line 698
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int top long
      StackMap stack:
            aload 6 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        35: .line 693
      StackMap locals:
      StackMap stack:
            lload 10
            lreturn
        end local 8 // int res
        36: .line 694
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
      StackMap stack: java.lang.Throwable
            astore 9
        37: .line 695
            aload 7 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 40
        38: .line 696
            aload 0 /* this */
            aload 6 /* pooled */
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
        39: .line 697
            goto 41
        40: .line 698
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer top java.lang.Throwable
      StackMap stack:
            aload 6 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        41: .line 700
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        end local 7 // java.nio.ByteBuffer buffer
        end local 6 // io.undertow.connector.PooledByteBuffer pooled
        42: .line 703
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* src */
            lload 2 /* position */
            lload 4 /* count */
            invokeinterface org.xnio.conduits.StreamSinkConduit.transferFrom:(Ljava/nio/channels/FileChannel;JJ)J
        43: lreturn
        44: .line 705
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* e */
        start local 6 // java.lang.Throwable e
        45: .line 706
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        46: .line 707
            aload 6 /* e */
            athrow
        end local 6 // java.lang.Throwable e
        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.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   47     0      this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0   47     1       src  Ljava/nio/channels/FileChannel;
            0   47     2  position  J
            0   47     4     count  J
            8   12     6         e  Ljava/lang/Throwable;
           20   42     6    pooled  Lio/undertow/connector/PooledByteBuffer;
           21   42     7    buffer  Ljava/nio/ByteBuffer;
           22   36     8       res  I
           45   47     6         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       7  Class java.io.IOException
           1     2       7  Class java.lang.RuntimeException
           1     2       7  Class java.lang.Error
           1     2      12  any
           7    12      12  any
          21    25      36  any
          30    31      36  any
           0     6      44  Class java.io.IOException
           7    29      44  Class java.io.IOException
          30    35      44  Class java.io.IOException
          36    43      44  Class java.io.IOException
           0     6      44  Class java.lang.RuntimeException
           7    29      44  Class java.lang.RuntimeException
          30    35      44  Class java.lang.RuntimeException
          36    43      44  Class java.lang.RuntimeException
           0     6      44  Class java.lang.Error
           7    29      44  Class java.lang.Error
          30    35      44  Class java.lang.Error
          36    43      44  Class java.lang.Error
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      src       final
      position  final
      count     final

  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=6, args_size=4
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // org.xnio.channels.StreamSourceChannel source
        start local 2 // long count
        start local 4 // java.nio.ByteBuffer throughBuffer
         0: .line 713
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
            ifeq 3
         1: .line 714
            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
         2: lreturn
         3: .line 716
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            aload 1 /* source */
            lload 2 /* count */
            aload 4 /* throughBuffer */
            invokeinterface org.xnio.conduits.StreamSinkConduit.transferFrom:(Lorg/xnio/channels/StreamSourceChannel;JLjava/nio/ByteBuffer;)J
         4: lreturn
         5: .line 718
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* e */
        start local 5 // java.lang.Throwable e
         6: .line 719
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         7: .line 720
            aload 5 /* e */
            athrow
        end local 5 // java.lang.Throwable e
        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.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0    8     1         source  Lorg/xnio/channels/StreamSourceChannel;
            0    8     2          count  J
            0    8     4  throughBuffer  Ljava/nio/ByteBuffer;
            6    8     5              e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       5  Class java.io.IOException
           3     4       5  Class java.io.IOException
           0     2       5  Class java.lang.RuntimeException
           3     4       5  Class java.lang.RuntimeException
           0     2       5  Class java.lang.Error
           3     4       5  Class java.lang.Error
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      source         final
      count          final
      throughBuffer  final

  public int writeFinal(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // java.nio.ByteBuffer src
         0: .line 727
            aload 0 /* this */
            aload 1 /* src */
            invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;Ljava/nio/ByteBuffer;)I
         1: ireturn
         2: .line 728
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* e */
        start local 2 // java.lang.Throwable e
         3: .line 729
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         4: .line 730
            aload 2 /* e */
            athrow
        end local 2 // java.lang.Throwable e
        end local 1 // java.nio.ByteBuffer src
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0    5     1   src  Ljava/nio/ByteBuffer;
            3    5     2     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
           0     1       2  Class java.lang.RuntimeException
           0     1       2  Class java.lang.Error
    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=5, args_size=4
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int offset
        start local 3 // int length
         0: .line 737
            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
         1: lreturn
         2: .line 738
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         3: .line 739
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         4: .line 740
            aload 4 /* e */
            athrow
        end local 4 // java.lang.Throwable e
        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.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            0    5     1    srcs  [Ljava/nio/ByteBuffer;
            0    5     2  offset  I
            0    5     3  length  I
            3    5     4       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
           0     1       2  Class java.lang.RuntimeException
           0     1       2  Class java.lang.Error
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      srcs    
      offset  
      length  

  public boolean flush();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
         0: .line 745
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
            istore 1 /* oldVal */
        start local 1 // int oldVal
         1: .line 746
            iload 1 /* oldVal */
            bipush 15
            iand
            istore 2 /* state */
        start local 2 // int state
         2: .line 748
            iload 2 /* state */
            ifeq 9
         3: .line 749
            aload 0 /* this */
            iload 2 /* state */
            aconst_null
            iconst_m1
            iconst_m1
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processWrite:(ILjava/lang/Object;II)I
            istore 2 /* state */
         4: .line 750
            iload 2 /* state */
            ifeq 7
         5: .line 763
            aload 0 /* this */
            iload 1 /* oldVal */
            bipush -16
            iand
            iload 2 /* state */
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
         6: .line 751
            iconst_0
            ireturn
         7: .line 753
      StackMap locals: int int
      StackMap stack:
            iload 1 /* oldVal */
            bipush 16
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 9
         8: .line 754
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
         9: .line 758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            istore 5
        10: .line 763
            aload 0 /* this */
            iload 1 /* oldVal */
            bipush -16
            iand
            iload 2 /* state */
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        11: .line 758
            iload 5
            ireturn
        12: .line 759
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
        13: .line 760
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
        14: .line 761
            aload 3 /* e */
            athrow
        end local 3 // java.lang.Throwable e
        15: .line 762
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        16: .line 763
            aload 0 /* this */
            iload 1 /* oldVal */
            bipush -16
            iand
            iload 2 /* state */
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        17: .line 764
            aload 4
            athrow
        end local 2 // int state
        end local 1 // int oldVal
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            1   18     1  oldVal  I
            2   18     2   state  I
           13   15     3       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     5      12  Class java.io.IOException
           7    10      12  Class java.io.IOException
           2     5      12  Class java.lang.RuntimeException
           7    10      12  Class java.lang.RuntimeException
           2     5      12  Class java.lang.Error
           7    10      12  Class java.lang.Error
           2     5      15  any
           7    10      15  any
          12    15      15  any
    Exceptions:
      throws java.io.IOException

  public void terminateWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
         0: .line 770
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
            istore 1 /* oldVal */
        start local 1 // int oldVal
         1: .line 771
            iload 1 /* oldVal */
            bipush 15
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 4
         2: .line 772
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
         3: .line 773
            return
         4: .line 775
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* oldVal */
            bipush 16
            ior
            putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
        end local 1 // int oldVal
         5: .line 776
            goto 9
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit
      StackMap stack: java.lang.Throwable
         6: astore 1 /* e */
        start local 1 // java.lang.Throwable e
         7: .line 777
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         8: .line 778
            aload 1 /* e */
            athrow
        end local 1 // java.lang.Throwable e
         9: .line 780
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            1    5     1  oldVal  I
            7    9     1       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3       6  Class java.io.IOException
           4     5       6  Class java.io.IOException
           0     3       6  Class java.lang.RuntimeException
           4     5       6  Class java.lang.RuntimeException
           0     3       6  Class java.lang.Error
           4     5       6  Class java.lang.Error
    Exceptions:
      throws java.io.IOException

  public void truncateWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
         0: .line 784
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.truncateWrites:()V
         1: .line 785
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1 /* e */
        start local 1 // java.lang.Throwable e
         3: .line 786
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
            invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
         4: .line 787
            aload 1 /* e */
            athrow
        end local 1 // java.lang.Throwable e
         5: .line 788
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         6: .line 789
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 8
         7: .line 790
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
         8: .line 792
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 11
         9: .line 793
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        10: .line 794
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
        11: .line 796
      StackMap locals:
      StackMap stack:
            aload 2
            athrow
        12: .line 789
      StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 14
        13: .line 790
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
        14: .line 792
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 17
        15: .line 793
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        16: .line 794
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
        17: .line 797
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lio/undertow/server/protocol/http/HttpResponseConduit;
            3    5     1     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
           0     1       2  Class java.lang.RuntimeException
           0     1       2  Class java.lang.Error
           0     5       5  any
    Exceptions:
      throws java.io.IOException

  public org.xnio.XnioWorker getWorker();
    descriptor: ()Lorg/xnio/XnioWorker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
         0: .line 800
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            invokeinterface org.xnio.conduits.StreamSinkConduit.getWorker:()Lorg/xnio/XnioWorker;
            areturn
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/protocol/http/HttpResponseConduit;

  void freeBuffers();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
         0: .line 804
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.protocol.http.HttpResponseConduit.done:Z
         1: .line 805
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 3
         2: .line 806
            aload 0 /* this */
            invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
         3: .line 808
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 6
         4: .line 809
            aload 0 /* this */
            getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         5: .line 810
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
         6: .line 812
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.server.protocol.http.HttpResponseConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/undertow/server/protocol/http/HttpResponseConduit;
}
Signature: Lorg/xnio/conduits/AbstractStreamSinkConduit<Lorg/xnio/conduits/StreamSinkConduit;>;
SourceFile: "HttpResponseConduit.java"