public class io.undertow.conduits.DeflatingStreamSinkConduit implements org.xnio.conduits.StreamSinkConduit
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.undertow.conduits.DeflatingStreamSinkConduit
  super_class: java.lang.Object
{
  protected volatile java.util.zip.Deflater deflater;
    descriptor: Ljava/util/zip/Deflater;
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  protected final io.undertow.util.PooledObject<java.util.zip.Deflater> pooledObject;
    descriptor: Lio/undertow/util/PooledObject;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Lio/undertow/util/PooledObject<Ljava/util/zip/Deflater;>;

  private final io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit> conduitFactory;
    descriptor: Lio/undertow/util/ConduitFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;

  private final io.undertow.server.HttpServerExchange exchange;
    descriptor: Lio/undertow/server/HttpServerExchange;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.xnio.conduits.StreamSinkConduit next;
    descriptor: Lorg/xnio/conduits/StreamSinkConduit;
    flags: (0x0002) ACC_PRIVATE

  private org.xnio.conduits.WriteReadyHandler writeReadyHandler;
    descriptor: Lorg/xnio/conduits/WriteReadyHandler;
    flags: (0x0002) ACC_PRIVATE

  protected io.undertow.connector.PooledByteBuffer currentBuffer;
    descriptor: Lio/undertow/connector/PooledByteBuffer;
    flags: (0x0004) ACC_PROTECTED

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

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

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

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

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

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

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

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

  public void <init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>, io.undertow.server.HttpServerExchange);
    descriptor: (Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
        start local 1 // io.undertow.util.ConduitFactory conduitFactory
        start local 2 // io.undertow.server.HttpServerExchange exchange
         0: .line 88
            aload 0 /* this */
            aload 1 /* conduitFactory */
            aload 2 /* exchange */
            bipush 8
            invokespecial io.undertow.conduits.DeflatingStreamSinkConduit.<init>:(Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;I)V
         1: .line 89
            return
        end local 2 // io.undertow.server.HttpServerExchange exchange
        end local 1 // io.undertow.util.ConduitFactory conduitFactory
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            0    2     1  conduitFactory  Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;
            0    2     2        exchange  Lio/undertow/server/HttpServerExchange;
    Signature: (Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;Lio/undertow/server/HttpServerExchange;)V
    MethodParameters:
                Name  Flags
      conduitFactory  final
      exchange        final

  public void <init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>, io.undertow.server.HttpServerExchange, );
    descriptor: (Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
        start local 1 // io.undertow.util.ConduitFactory conduitFactory
        start local 2 // io.undertow.server.HttpServerExchange exchange
        start local 3 // int deflateLevel
         0: .line 92
            aload 0 /* this */
            aload 1 /* conduitFactory */
            aload 2 /* exchange */
            iload 3 /* deflateLevel */
            invokestatic io.undertow.conduits.DeflatingStreamSinkConduit.newInstanceDeflaterPool:(I)Lio/undertow/util/ObjectPool;
            invokespecial io.undertow.conduits.DeflatingStreamSinkConduit.<init>:(Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;Lio/undertow/util/ObjectPool;)V
         1: .line 93
            return
        end local 3 // int deflateLevel
        end local 2 // io.undertow.server.HttpServerExchange exchange
        end local 1 // io.undertow.util.ConduitFactory conduitFactory
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            0    2     1  conduitFactory  Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;
            0    2     2        exchange  Lio/undertow/server/HttpServerExchange;
            0    2     3    deflateLevel  I
    Signature: (Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;Lio/undertow/server/HttpServerExchange;I)V
    MethodParameters:
                Name  Flags
      conduitFactory  final
      exchange        final
      deflateLevel    

  public void <init>(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>, io.undertow.server.HttpServerExchange, io.undertow.util.ObjectPool<java.util.zip.Deflater>);
    descriptor: (Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;Lio/undertow/util/ObjectPool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
        start local 1 // io.undertow.util.ConduitFactory conduitFactory
        start local 2 // io.undertow.server.HttpServerExchange exchange
        start local 3 // io.undertow.util.ObjectPool deflaterPool
         0: .line 95
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 78
            aload 0 /* this */
            iconst_0
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
         2: .line 96
            aload 0 /* this */
            aload 3 /* deflaterPool */
            invokeinterface io.undertow.util.ObjectPool.allocate:()Lio/undertow/util/PooledObject;
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.pooledObject:Lio/undertow/util/PooledObject;
         3: .line 97
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.pooledObject:Lio/undertow/util/PooledObject;
            invokeinterface io.undertow.util.PooledObject.getObject:()Ljava/lang/Object;
            checkcast java.util.zip.Deflater
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
         4: .line 98
            aload 0 /* this */
            aload 2 /* exchange */
            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;
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
         5: .line 99
            aload 0 /* this */
            aload 2 /* exchange */
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
         6: .line 100
            aload 0 /* this */
            aload 1 /* conduitFactory */
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.conduitFactory:Lio/undertow/util/ConduitFactory;
         7: .line 101
            aload 0 /* this */
            new org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler
            dup
            aload 2 /* exchange */
            invokestatic io.undertow.server.Connectors.getConduitSinkChannel:(Lio/undertow/server/HttpServerExchange;)Lorg/xnio/conduits/ConduitStreamSinkChannel;
            invokespecial org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler.<init>:(Lorg/xnio/channels/SuspendableWriteChannel;)V
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.setWriteReadyHandler:(Lorg/xnio/conduits/WriteReadyHandler;)V
         8: .line 102
            return
        end local 3 // io.undertow.util.ObjectPool deflaterPool
        end local 2 // io.undertow.server.HttpServerExchange exchange
        end local 1 // io.undertow.util.ConduitFactory conduitFactory
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            0    9     1  conduitFactory  Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;
            0    9     2        exchange  Lio/undertow/server/HttpServerExchange;
            0    9     3    deflaterPool  Lio/undertow/util/ObjectPool<Ljava/util/zip/Deflater;>;
    Signature: (Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;Lio/undertow/server/HttpServerExchange;Lio/undertow/util/ObjectPool<Ljava/util/zip/Deflater;>;)V
    MethodParameters:
                Name  Flags
      conduitFactory  final
      exchange        final
      deflaterPool    

  public static io.undertow.util.ObjectPool<java.util.zip.Deflater> newInstanceDeflaterPool(int);
    descriptor: (I)Lio/undertow/util/ObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int deflateLevel
         0: .line 105
            new io.undertow.util.NewInstanceObjectPool
            dup
            iload 0 /* deflateLevel */
            invokedynamic get(I)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  io/undertow/conduits/DeflatingStreamSinkConduit.lambda$0(I)Ljava/util/zip/Deflater; (6)
                  ()Ljava/util/zip/Deflater;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/zip/Deflater.end()V (5)
                  (Ljava/util/zip/Deflater;)V
            invokespecial io.undertow.util.NewInstanceObjectPool.<init>:(Ljava/util/function/Supplier;Ljava/util/function/Consumer;)V
            areturn
        end local 0 // int deflateLevel
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  deflateLevel  I
    Signature: (I)Lio/undertow/util/ObjectPool<Ljava/util/zip/Deflater;>;
    MethodParameters:
              Name  Flags
      deflateLevel  

  public static io.undertow.util.ObjectPool<java.util.zip.Deflater> simpleDeflaterPool(int, int);
    descriptor: (II)Lio/undertow/util/ObjectPool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // int poolSize
        start local 1 // int deflateLevel
         0: .line 109
            new io.undertow.util.SimpleObjectPool
            dup
            iload 0 /* poolSize */
            iload 1 /* deflateLevel */
            invokedynamic get(I)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  io/undertow/conduits/DeflatingStreamSinkConduit.lambda$2(I)Ljava/util/zip/Deflater; (6)
                  ()Ljava/util/zip/Deflater;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/zip/Deflater.reset()V (5)
                  (Ljava/util/zip/Deflater;)V
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/zip/Deflater.end()V (5)
                  (Ljava/util/zip/Deflater;)V
            invokespecial io.undertow.util.SimpleObjectPool.<init>:(ILjava/util/function/Supplier;Ljava/util/function/Consumer;Ljava/util/function/Consumer;)V
            areturn
        end local 1 // int deflateLevel
        end local 0 // int poolSize
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0      poolSize  I
            0    1     1  deflateLevel  I
    Signature: (II)Lio/undertow/util/ObjectPool<Ljava/util/zip/Deflater;>;
    MethodParameters:
              Name  Flags
      poolSize      
      deflateLevel  

  public int write(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
        start local 1 // java.nio.ByteBuffer src
         0: .line 115
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 17
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 1
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnonnull 2
         1: .line 116
      StackMap locals:
      StackMap stack:
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
            ifne 4
         3: .line 120
            iconst_0
            ireturn
         4: .line 122
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifne 6
         5: .line 123
            iconst_0
            ireturn
         6: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.needsInput:()Z
            ifne 10
         7: .line 127
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.deflateData:(Z)V
         8: .line 128
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.needsInput:()Z
            ifne 10
         9: .line 129
            iconst_0
            ireturn
        10: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            newarray 8
            astore 2 /* data */
        start local 2 // byte[] data
        11: .line 133
            aload 1 /* src */
            aload 2 /* data */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
        12: .line 134
            aload 0 /* this */
            aload 2 /* data */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.preDeflate:([B)V
        13: .line 135
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            aload 2 /* data */
            invokevirtual java.util.zip.Deflater.setInput:([B)V
        14: .line 136
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
            iconst_0
            aload 2 /* data */
            arraylength
            isub
            i2l
            invokestatic io.undertow.server.Connectors.updateResponseBytesSent:(Lio/undertow/server/HttpServerExchange;J)V
        15: .line 137
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.deflateData:(Z)V
        16: .line 138
            aload 2 /* data */
            arraylength
        17: ireturn
        end local 2 // byte[] data
        18: .line 139
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* e */
        start local 2 // java.lang.Throwable e
        19: .line 140
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.freeBuffer:()V
        20: .line 141
            aload 2 /* e */
            athrow
        end local 2 // java.lang.Throwable e
        end local 1 // java.nio.ByteBuffer src
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            0   21     1   src  Ljava/nio/ByteBuffer;
           11   18     2  data  [B
           19   21     2     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3      18  Class java.io.IOException
           4     5      18  Class java.io.IOException
           6     9      18  Class java.io.IOException
          10    17      18  Class java.io.IOException
           2     3      18  Class java.lang.RuntimeException
           4     5      18  Class java.lang.RuntimeException
           6     9      18  Class java.lang.RuntimeException
          10    17      18  Class java.lang.RuntimeException
           2     3      18  Class java.lang.Error
           4     5      18  Class java.lang.Error
           6     9      18  Class java.lang.Error
          10    17      18  Class java.lang.Error
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      src   final

  protected void preDeflate(byte[]);
    descriptor: ([B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
        start local 1 // byte[] data
         0: .line 147
            return
        end local 1 // byte[] data
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            0    1     1  data  [B
    MethodParameters:
      Name  Flags
      data  

  public long write(java.nio.ByteBuffer[], int, int);
    descriptor: ([Ljava/nio/ByteBuffer;II)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
        start local 1 // java.nio.ByteBuffer[] srcs
        start local 2 // int offset
        start local 3 // int length
         0: .line 151
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 17
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 1
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnonnull 2
         1: .line 152
      StackMap locals:
      StackMap stack:
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 155
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* total */
        start local 4 // int total
         3: .line 156
            iload 2 /* offset */
            istore 5 /* i */
        start local 5 // int i
         4: goto 12
         5: .line 157
      StackMap locals: int int
      StackMap stack:
            aload 1 /* srcs */
            iload 5 /* i */
            aaload
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 11
         6: .line 158
            aload 0 /* this */
            aload 1 /* srcs */
            iload 5 /* i */
            aaload
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
            istore 6 /* ret */
        start local 6 // int ret
         7: .line 159
            iload 4 /* total */
            iload 6 /* ret */
            iadd
            istore 4 /* total */
         8: .line 160
            iload 6 /* ret */
            ifne 11
         9: .line 161
            iload 4 /* total */
            i2l
        10: lreturn
        end local 6 // int ret
        11: .line 156
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 2 /* offset */
            iload 3 /* length */
            iadd
            if_icmplt 5
        end local 5 // int i
        13: .line 165
            iload 4 /* total */
            i2l
        14: lreturn
        end local 4 // int total
        15: .line 166
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit java.nio.ByteBuffer[] int int
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
        16: .line 167
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.freeBuffer:()V
        17: .line 168
            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.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            0   18     1    srcs  [Ljava/nio/ByteBuffer;
            0   18     2  offset  I
            0   18     3  length  I
            3   15     4   total  I
            4   13     5       i  I
            7   11     6     ret  I
           16   18     4       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2    10      15  Class java.io.IOException
          11    14      15  Class java.io.IOException
           2    10      15  Class java.lang.RuntimeException
          11    14      15  Class java.lang.RuntimeException
           2    10      15  Class java.lang.Error
          11    14      15  Class java.lang.Error
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      srcs    final
      offset  final
      length  final

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

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

  public long transferFrom(java.nio.channels.FileChannel, long, long);
    descriptor: (Ljava/nio/channels/FileChannel;JJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
        start local 1 // java.nio.channels.FileChannel src
        start local 2 // long position
        start local 4 // long count
         0: .line 184
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 17
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 185
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
            ifne 4
         3: .line 188
            lconst_0
            lreturn
         4: .line 190
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            lload 2 /* position */
            lload 4 /* count */
            new org.xnio.conduits.ConduitWritableByteChannel
            dup
            aload 0 /* this */
            invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
            invokevirtual java.nio.channels.FileChannel.transferTo:(JJLjava/nio/channels/WritableByteChannel;)J
            lreturn
        end local 4 // long count
        end local 2 // long position
        end local 1 // java.nio.channels.FileChannel src
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            0    5     1       src  Ljava/nio/channels/FileChannel;
            0    5     2  position  J
            0    5     4     count  J
    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=5, args_size=4
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
        start local 1 // org.xnio.channels.StreamSourceChannel source
        start local 2 // long count
        start local 4 // java.nio.ByteBuffer throughBuffer
         0: .line 196
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 17
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 2
         1: .line 197
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            athrow
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
            ifne 4
         3: .line 200
            lconst_0
            lreturn
         4: .line 202
      StackMap locals:
      StackMap stack:
            aload 1 /* source */
            lload 2 /* count */
            aload 4 /* throughBuffer */
            new org.xnio.conduits.ConduitWritableByteChannel
            dup
            aload 0 /* this */
            invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
            invokestatic org.xnio.IoUtils.transfer:(Ljava/nio/channels/ReadableByteChannel;JLjava/nio/ByteBuffer;Ljava/nio/channels/WritableByteChannel;)J
            lreturn
        end local 4 // java.nio.ByteBuffer throughBuffer
        end local 2 // long count
        end local 1 // org.xnio.channels.StreamSourceChannel source
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            0    5     1         source  Lorg/xnio/channels/StreamSourceChannel;
            0    5     2          count  J
            0    5     4  throughBuffer  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      source         final
      count          final
      throughBuffer  final

  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.conduits.DeflatingStreamSinkConduit this
         0: .line 207
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getWorker:()Lorg/xnio/XnioWorker;
            areturn
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;

  public void suspendWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 212
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            ifnonnull 3
         1: .line 213
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush -9
            iand
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
         2: .line 214
            goto 4
         3: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.suspendWrites:()V
         4: .line 217
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;

  public boolean isWriteResumed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 222
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            ifnonnull 2
         1: .line 223
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ireturn
         2: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.isWriteResumed:()Z
            ireturn
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;

  public void wakeupWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 231
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            ifnonnull 3
         1: .line 232
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.resumeWrites:()V
         2: .line 233
            goto 4
         3: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.wakeupWrites:()V
         4: .line 236
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;

  public void resumeWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 240
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            ifnonnull 4
         1: .line 241
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            ior
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
         2: .line 242
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.queueWriteListener:()V
         3: .line 243
            goto 5
         4: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
         5: .line 246
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;

  private void queueWriteListener();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 249
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getIoThread:()Lorg/xnio/XnioIoThread;
            new io.undertow.conduits.DeflatingStreamSinkConduit$1
            dup
            aload 0 /* this */
            invokespecial io.undertow.conduits.DeflatingStreamSinkConduit$1.<init>:(Lio/undertow/conduits/DeflatingStreamSinkConduit;)V
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         1: .line 264
            return
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;

  public void terminateWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 268
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            ifnull 2
         1: .line 269
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.finish:()V
         2: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_1
            ior
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
         3: .line 272
            return
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
    Exceptions:
      throws java.io.IOException

  public boolean isWriteShutdown();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 276
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ireturn
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;

  public void awaitWritable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 281
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            ifnonnull 2
         1: .line 282
            return
         2: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:()V
         3: .line 286
            return
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
    Exceptions:
      throws java.io.IOException

  public void awaitWritable(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
        start local 1 // long time
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 290
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            ifnonnull 2
         1: .line 291
            return
         2: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            lload 1 /* time */
            aload 3 /* timeUnit */
            invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:(JLjava/util/concurrent/TimeUnit;)V
         3: .line 295
            return
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long time
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            0    4     1      time  J
            0    4     3  timeUnit  Ljava/util/concurrent/TimeUnit;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      time      final
      timeUnit  final

  public org.xnio.XnioIoThread getWriteThread();
    descriptor: ()Lorg/xnio/XnioIoThread;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 299
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getIoThread:()Lorg/xnio/XnioIoThread;
            areturn
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;

  public void setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler);
    descriptor: (Lorg/xnio/conduits/WriteReadyHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
        start local 1 // org.xnio.conduits.WriteReadyHandler handler
         0: .line 304
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.writeReadyHandler:Lorg/xnio/conduits/WriteReadyHandler;
         1: .line 305
            return
        end local 1 // org.xnio.conduits.WriteReadyHandler handler
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            0    2     1  handler  Lorg/xnio/conduits/WriteReadyHandler;
    MethodParameters:
         Name  Flags
      handler  final

  public boolean flush();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=13, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 309
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnonnull 4
         1: .line 310
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 3
         2: .line 311
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            ireturn
         3: .line 313
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 317
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* nextCreated */
        start local 1 // boolean nextCreated
         5: .line 319
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 86
         6: .line 320
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 15
         7: .line 321
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            istore 11
         8: .line 399
            iload 1 /* nextCreated */
            ifeq 14
         9: .line 400
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 14
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 14
        10: .line 402
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
        11: .line 403
            goto 14
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int top top top top top top top top top int
      StackMap stack: java.lang.Throwable
        12: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        13: .line 404
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Failed to resume"
            aload 12 /* e */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable e
        14: .line 321
      StackMap locals:
      StackMap stack:
            iload 11
            ireturn
        15: .line 323
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
            ifne 23
        16: .line 399
            iload 1 /* nextCreated */
            ifeq 22
        17: .line 400
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 22
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 22
        18: .line 402
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
        19: .line 403
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        21: .line 404
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Failed to resume"
            aload 12 /* e */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable e
        22: .line 324
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        23: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.finished:()Z
            ifne 33
        24: .line 328
            aload 0 /* this */
            iconst_0
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.deflateData:(Z)V
        25: .line 330
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.finished:()Z
            ifne 33
        26: .line 399
            iload 1 /* nextCreated */
            ifeq 32
        27: .line 400
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 32
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 32
        28: .line 402
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
        29: .line 403
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        31: .line 404
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Failed to resume"
            aload 12 /* e */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable e
        32: .line 331
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        33: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
        34: .line 335
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 32
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 61
        35: .line 336
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 32
            ior
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
        36: .line 337
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.getTrailer:()[B
            astore 3 /* data */
        start local 3 // byte[] data
        37: .line 338
            aload 3 /* data */
            ifnull 61
        38: .line 339
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
            aload 3 /* data */
            arraylength
            i2l
            invokestatic io.undertow.server.Connectors.updateResponseBytesSent:(Lio/undertow/server/HttpServerExchange;J)V
        39: .line 340
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
            ifnull 52
        40: .line 341
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 3 /* data */
            arraylength
            iadd
            newarray 8
            astore 4 /* newData */
        start local 4 // byte[] newData
        41: .line 342
            iconst_0
            istore 5 /* pos */
        start local 5 // int pos
        42: .line 343
            goto 44
        43: .line 344
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int java.nio.ByteBuffer byte[] byte[] int
      StackMap stack:
            aload 4 /* newData */
            iload 5 /* pos */
            iinc 5 /* pos */ 1
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.get:()B
            bastore
        44: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 43
        45: .line 346
            aload 3 /* data */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 49
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int java.nio.ByteBuffer byte[] byte[] int top int int byte[]
      StackMap stack:
        46: aload 9
            iload 7
            baload
            istore 6 /* aData */
        start local 6 // byte aData
        47: .line 347
            aload 4 /* newData */
            iload 5 /* pos */
            iinc 5 /* pos */ 1
            iload 6 /* aData */
            bastore
        end local 6 // byte aData
        48: .line 346
            iinc 7 1
      StackMap locals:
      StackMap stack:
        49: iload 7
            iload 8
            if_icmplt 46
        50: .line 349
            aload 0 /* this */
            aload 4 /* newData */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
        end local 5 // int pos
        end local 4 // byte[] newData
        51: .line 350
            goto 61
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int java.nio.ByteBuffer byte[]
      StackMap stack:
        52: aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 57
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            isub
            aload 3 /* data */
            arraylength
            if_icmplt 57
        53: .line 351
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
            pop
        54: .line 352
            aload 2 /* buffer */
            aload 3 /* data */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
        55: .line 353
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        56: .line 354
            goto 61
      StackMap locals:
      StackMap stack:
        57: aload 3 /* data */
            arraylength
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmpgt 60
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 60
        58: .line 355
            aload 2 /* buffer */
            aload 3 /* data */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
        59: .line 356
            goto 61
        60: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* data */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
        end local 3 // byte[] data
        61: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 67
        62: .line 364
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        63: .line 365
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_4
            ior
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
        64: .line 366
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            ifnonnull 67
        65: .line 367
            iconst_1
            istore 1 /* nextCreated */
        66: .line 368
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.createNextChannel:()Lorg/xnio/conduits/StreamSinkConduit;
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
        67: .line 371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
            ifeq 79
        68: .line 372
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_2
            ior
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
        69: .line 373
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.freeBuffer:()V
        70: .line 374
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
        71: .line 375
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            istore 11
        72: .line 399
            iload 1 /* nextCreated */
            ifeq 78
        73: .line 400
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 78
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 78
        74: .line 402
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
        75: .line 403
            goto 78
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int java.nio.ByteBuffer top top top top top top top top int
      StackMap stack: java.lang.Throwable
        76: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        77: .line 404
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Failed to resume"
            aload 12 /* e */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable e
        78: .line 375
      StackMap locals:
      StackMap stack:
            iload 11
            ireturn
        79: .line 399
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int java.nio.ByteBuffer
      StackMap stack:
            iload 1 /* nextCreated */
            ifeq 85
        80: .line 400
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 85
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 85
        81: .line 402
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
        82: .line 403
            goto 85
      StackMap locals:
      StackMap stack: java.lang.Throwable
        83: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        84: .line 404
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Failed to resume"
            aload 12 /* e */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable e
        85: .line 377
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.nio.ByteBuffer buffer
        86: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 94
        87: .line 382
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            ifnonnull 90
        88: .line 383
            iconst_1
            istore 1 /* nextCreated */
        89: .line 384
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.createNextChannel:()Lorg/xnio/conduits/StreamSinkConduit;
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
        90: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.deflateData:(Z)V
        91: .line 387
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.allAreClear:(II)Z
            ifeq 94
        92: .line 389
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        93: .line 390
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_4
            ior
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
        94: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
            ifne 102
        95: .line 399
            iload 1 /* nextCreated */
            ifeq 101
        96: .line 400
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 101
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 101
        97: .line 402
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
        98: .line 403
            goto 101
      StackMap locals:
      StackMap stack: java.lang.Throwable
        99: astore 12 /* e */
        start local 12 // java.lang.Throwable e
       100: .line 404
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Failed to resume"
            aload 12 /* e */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable e
       101: .line 394
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       102: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
            istore 11
       103: .line 399
            iload 1 /* nextCreated */
            ifeq 109
       104: .line 400
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 109
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 109
       105: .line 402
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
       106: .line 403
            goto 109
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int top top top top top top top top top int
      StackMap stack: java.lang.Throwable
       107: astore 12 /* e */
        start local 12 // java.lang.Throwable e
       108: .line 404
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Failed to resume"
            aload 12 /* e */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable e
       109: .line 396
      StackMap locals:
      StackMap stack:
            iload 11
            ireturn
       110: .line 398
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int
      StackMap stack: java.lang.Throwable
            astore 10
       111: .line 399
            iload 1 /* nextCreated */
            ifeq 117
       112: .line 400
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 117
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_2
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifne 117
       113: .line 402
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
       114: .line 403
            goto 117
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int top top top top top top top top java.lang.Throwable
      StackMap stack: java.lang.Throwable
       115: astore 12 /* e */
        start local 12 // java.lang.Throwable e
       116: .line 404
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            ldc "Failed to resume"
            aload 12 /* e */
            invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable e
       117: .line 408
      StackMap locals:
      StackMap stack:
            aload 10
            athrow
        end local 1 // boolean nextCreated
       118: .line 409
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit
      StackMap stack: java.lang.Throwable
            astore 1 /* e */
        start local 1 // java.lang.Throwable e
       119: .line 410
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.freeBuffer:()V
       120: .line 411
            aload 1 /* e */
            athrow
        end local 1 // java.lang.Throwable e
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  121     0         this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            5  118     1  nextCreated  Z
           34   86     2       buffer  Ljava/nio/ByteBuffer;
           37   61     3         data  [B
           41   51     4      newData  [B
           42   51     5          pos  I
           47   48     6        aData  B
           13   14    12            e  Ljava/lang/Throwable;
           21   22    12            e  Ljava/lang/Throwable;
           31   32    12            e  Ljava/lang/Throwable;
           77   78    12            e  Ljava/lang/Throwable;
           84   85    12            e  Ljava/lang/Throwable;
          100  101    12            e  Ljava/lang/Throwable;
          108  109    12            e  Ljava/lang/Throwable;
          116  117    12            e  Ljava/lang/Throwable;
          119  121     1            e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.Throwable
          18    19      20  Class java.lang.Throwable
          28    29      30  Class java.lang.Throwable
          74    75      76  Class java.lang.Throwable
          81    82      83  Class java.lang.Throwable
          97    98      99  Class java.lang.Throwable
         105   106     107  Class java.lang.Throwable
           5     8     110  any
          15    16     110  any
          23    26     110  any
          33    72     110  any
          86    95     110  any
         102   103     110  any
         113   114     115  Class java.lang.Throwable
           4    14     118  Class java.io.IOException
          15    22     118  Class java.io.IOException
          23    32     118  Class java.io.IOException
          33    78     118  Class java.io.IOException
          79    85     118  Class java.io.IOException
          86   101     118  Class java.io.IOException
         102   109     118  Class java.io.IOException
         110   118     118  Class java.io.IOException
           4    14     118  Class java.lang.RuntimeException
          15    22     118  Class java.lang.RuntimeException
          23    32     118  Class java.lang.RuntimeException
          33    78     118  Class java.lang.RuntimeException
          79    85     118  Class java.lang.RuntimeException
          86   101     118  Class java.lang.RuntimeException
         102   109     118  Class java.lang.RuntimeException
         110   118     118  Class java.lang.RuntimeException
           4    14     118  Class java.lang.Error
          15    22     118  Class java.lang.Error
          23    32     118  Class java.lang.Error
          33    78     118  Class java.lang.Error
          79    85     118  Class java.lang.Error
          86   101     118  Class java.lang.Error
         102   109     118  Class java.lang.Error
         110   118     118  Class java.lang.Error
    Exceptions:
      throws java.io.IOException

  protected byte[] getTrailer();
    descriptor: ()[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 419
            aconst_null
            areturn
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;

  private boolean performFlushIfRequired();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 428
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_4
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 22
         1: .line 429
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
            ifnonnull 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_2
      StackMap locals:
      StackMap stack: int
         3: anewarray java.nio.ByteBuffer
            astore 1 /* bufs */
        start local 1 // java.nio.ByteBuffer[] bufs
         4: .line 430
            lconst_0
            lstore 2 /* totalLength */
        start local 2 // long totalLength
         5: .line 431
            aload 1 /* bufs */
            iconst_0
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            aastore
         6: .line 432
            lload 2 /* totalLength */
            aload 1 /* bufs */
            iconst_0
            aaload
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            ladd
            lstore 2 /* totalLength */
         7: .line 433
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
            ifnull 10
         8: .line 434
            aload 1 /* bufs */
            iconst_1
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
            aastore
         9: .line 435
            lload 2 /* totalLength */
            aload 1 /* bufs */
            iconst_1
            aaload
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            ladd
            lstore 2 /* totalLength */
        10: .line 437
      StackMap locals: java.nio.ByteBuffer[] long
      StackMap stack:
            lload 2 /* totalLength */
            lconst_0
            lcmp
            ifle 19
        11: .line 438
            lconst_0
            lstore 4 /* total */
        start local 4 // long total
        12: .line 439
            lconst_0
            lstore 6 /* res */
        start local 6 // long res
        13: .line 441
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            aload 1 /* bufs */
            iconst_0
            aload 1 /* bufs */
            arraylength
            invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
            lstore 6 /* res */
        14: .line 442
            lload 4 /* total */
            lload 6 /* res */
            ladd
            lstore 4 /* total */
        15: .line 443
            lload 6 /* res */
            lconst_0
            lcmp
            ifne 17
        16: .line 444
            iconst_0
            ireturn
        17: .line 446
      StackMap locals:
      StackMap stack:
            lload 4 /* total */
            lload 2 /* totalLength */
        18: .line 440
            lcmp
            iflt 13
        end local 6 // long res
        end local 4 // long total
        19: .line 448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
        20: .line 449
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        21: .line 450
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush -5
            iand
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
        end local 2 // long totalLength
        end local 1 // java.nio.ByteBuffer[] bufs
        22: .line 452
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            4   22     1         bufs  [Ljava/nio/ByteBuffer;
            5   22     2  totalLength  J
           12   19     4        total  J
           13   19     6          res  J
    Exceptions:
      throws java.io.IOException

  private org.xnio.conduits.StreamSinkConduit createNextChannel();
    descriptor: ()Lorg/xnio/conduits/StreamSinkConduit;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 457
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.finished:()Z
            ifeq 7
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 32
            invokestatic org.xnio.Bits.allAreSet:(II)Z
            ifeq 7
         1: .line 460
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 1 /* remaining */
        start local 1 // int remaining
         2: .line 461
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
            ifnull 4
         3: .line 462
            iload 1 /* remaining */
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iadd
            istore 1 /* remaining */
         4: .line 464
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.TRANSFER_ENCODING:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.contains:(Lio/undertow/util/HttpString;)Z
            ifne 8
         5: .line 465
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
            iload 1 /* remaining */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
            pop
        end local 1 // int remaining
         6: .line 467
            goto 8
         7: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
            getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
            invokevirtual io.undertow.util.HeaderMap.remove:(Lio/undertow/util/HttpString;)Ljava/util/Collection;
            pop
         8: .line 470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.conduitFactory:Lio/undertow/util/ConduitFactory;
            invokeinterface io.undertow.util.ConduitFactory.create:()Lorg/xnio/conduits/Conduit;
            checkcast org.xnio.conduits.StreamSinkConduit
            areturn
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            2    6     1  remaining  I

  private void deflateData(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=2
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
        start local 1 // boolean force
         0: .line 482
            iconst_0
            istore 2 /* nextCreated */
        start local 2 // boolean nextCreated
         1: .line 483
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.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.getArrayBackedPool:()Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            astore 5 /* arrayPooled */
        start local 5 // io.undertow.connector.PooledByteBuffer arrayPooled
         3: .line 484
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
            astore 6 /* pooled */
        start local 6 // io.undertow.connector.PooledByteBuffer pooled
         4: .line 485
            aload 6 /* pooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 7 /* outputBuffer */
        start local 7 // java.nio.ByteBuffer outputBuffer
         5: .line 487
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_1
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            istore 8 /* shutdown */
        start local 8 // boolean shutdown
         6: .line 488
            aload 5 /* arrayPooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 9 /* buf */
        start local 9 // java.nio.ByteBuffer buf
         7: .line 489
            goto 36
         8: .line 490
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int java.lang.Throwable java.lang.Throwable io.undertow.connector.PooledByteBuffer io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 1 /* force */
            ifeq 9
            iconst_2
            goto 10
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int java.lang.Throwable java.lang.Throwable io.undertow.connector.PooledByteBuffer io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int java.nio.ByteBuffer
      StackMap stack: java.util.zip.Deflater byte[] int int
         9: iconst_0
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int java.lang.Throwable java.lang.Throwable io.undertow.connector.PooledByteBuffer io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int java.nio.ByteBuffer
      StackMap stack: java.util.zip.Deflater byte[] int int int
        10: invokevirtual java.util.zip.Deflater.deflate:([BIII)I
            istore 10 /* count */
        start local 10 // int count
        11: .line 491
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.exchange:Lio/undertow/server/HttpServerExchange;
            iload 10 /* count */
            i2l
            invokestatic io.undertow.server.Connectors.updateResponseBytesSent:(Lio/undertow/server/HttpServerExchange;J)V
        12: .line 492
            iload 10 /* count */
            ifeq 35
        13: .line 493
            aload 7 /* outputBuffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 11 /* remaining */
        start local 11 // int remaining
        14: .line 494
            iload 11 /* remaining */
            iload 10 /* count */
            if_icmple 17
        15: .line 495
            aload 7 /* outputBuffer */
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            iload 10 /* count */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        16: .line 496
            goto 36
        17: .line 497
      StackMap locals: int int
      StackMap stack:
            iload 11 /* remaining */
            iload 10 /* count */
            if_icmpne 20
        18: .line 498
            aload 7 /* outputBuffer */
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            iload 10 /* count */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        19: .line 499
            goto 24
        20: .line 500
      StackMap locals:
      StackMap stack:
            aload 7 /* outputBuffer */
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            iload 11 /* remaining */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        21: .line 501
            aload 0 /* this */
            iload 10 /* count */
            iload 11 /* remaining */
            isub
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
        22: .line 502
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 9 /* buf */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            iload 11 /* remaining */
            iadd
            iload 10 /* count */
            iload 11 /* remaining */
            isub
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        23: .line 503
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.additionalBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        24: .line 505
      StackMap locals:
      StackMap stack:
            aload 7 /* outputBuffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        25: .line 506
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            iconst_4
            ior
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
        26: .line 507
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            ifnonnull 29
        27: .line 508
            iconst_1
            istore 2 /* nextCreated */
        28: .line 509
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.createNextChannel:()Lorg/xnio/conduits/StreamSinkConduit;
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
        29: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.performFlushIfRequired:()Z
            ifne 36
        30: .line 519
            aload 5 /* arrayPooled */
            ifnull 31
            aload 5 /* arrayPooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        31: .line 520
      StackMap locals:
      StackMap stack:
            iload 2 /* nextCreated */
            ifeq 34
        32: .line 521
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 34
        33: .line 522
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
        34: .line 512
      StackMap locals:
      StackMap stack:
            return
        end local 11 // int remaining
        35: .line 516
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* force */
        end local 10 // int count
        36: .line 489
      StackMap locals:
      StackMap stack:
            iload 1 /* force */
            ifne 8
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.needsInput:()Z
            ifeq 8
            iload 8 /* shutdown */
            ifeq 37
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.finished:()Z
            ifeq 8
        end local 9 // java.nio.ByteBuffer buf
        end local 8 // boolean shutdown
        end local 7 // java.nio.ByteBuffer outputBuffer
        end local 6 // io.undertow.connector.PooledByteBuffer pooled
        37: .line 519
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int java.lang.Throwable java.lang.Throwable io.undertow.connector.PooledByteBuffer
      StackMap stack:
            aload 5 /* arrayPooled */
            ifnull 48
            aload 5 /* arrayPooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
            goto 48
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: astore 3
            aload 5 /* arrayPooled */
            ifnull 39
            aload 5 /* arrayPooled */
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        end local 5 // io.undertow.connector.PooledByteBuffer arrayPooled
      StackMap locals:
      StackMap stack:
        39: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: astore 4
            aload 3
            ifnonnull 41
            aload 4
            astore 3
            goto 42
      StackMap locals:
      StackMap stack:
        41: aload 3
            aload 4
            if_acmpeq 42
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        42: aload 3
            athrow
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int
      StackMap stack: java.lang.Throwable
        43: astore 12
        44: .line 520
            iload 2 /* nextCreated */
            ifeq 47
        45: .line 521
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 47
        46: .line 522
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
        47: .line 525
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        48: .line 520
      StackMap locals: io.undertow.conduits.DeflatingStreamSinkConduit int int
      StackMap stack:
            iload 2 /* nextCreated */
            ifeq 51
        49: .line 521
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 8
            invokestatic org.xnio.Bits.anyAreSet:(II)Z
            ifeq 51
        50: .line 522
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
        51: .line 526
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean nextCreated
        end local 1 // boolean force
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   52     0          this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
            0   52     1         force  Z
            1   52     2   nextCreated  Z
            3   39     5   arrayPooled  Lio/undertow/connector/PooledByteBuffer;
            4   37     6        pooled  Lio/undertow/connector/PooledByteBuffer;
            5   37     7  outputBuffer  Ljava/nio/ByteBuffer;
            6   37     8      shutdown  Z
            7   37     9           buf  Ljava/nio/ByteBuffer;
           11   36    10         count  I
           14   35    11     remaining  I
      Exception table:
        from    to  target  type
           3    30      38  any
          35    37      38  any
           2    31      40  any
          35    40      40  any
           1    31      43  any
          35    43      43  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      force  

  public void truncateWrites();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 531
            aload 0 /* this */
            invokevirtual io.undertow.conduits.DeflatingStreamSinkConduit.freeBuffer:()V
         1: .line 532
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush 16
            ior
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
         2: .line 533
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.next:Lorg/xnio/conduits/StreamSinkConduit;
            invokeinterface org.xnio.conduits.StreamSinkConduit.truncateWrites:()V
         3: .line 534
            return
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;
    Exceptions:
      throws java.io.IOException

  private void freeBuffer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
         0: .line 537
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
            ifnull 4
         1: .line 538
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         2: .line 539
            aload 0 /* this */
            aconst_null
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.currentBuffer:Lio/undertow/connector/PooledByteBuffer;
         3: .line 540
            aload 0 /* this */
            dup
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
            bipush -5
            iand
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.state:I
         4: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
            ifnull 7
         5: .line 543
            aload 0 /* this */
            aconst_null
            putfield io.undertow.conduits.DeflatingStreamSinkConduit.deflater:Ljava/util/zip/Deflater;
         6: .line 544
            aload 0 /* this */
            getfield io.undertow.conduits.DeflatingStreamSinkConduit.pooledObject:Lio/undertow/util/PooledObject;
            invokeinterface io.undertow.util.PooledObject.close:()V
         7: .line 546
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.undertow.conduits.DeflatingStreamSinkConduit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/undertow/conduits/DeflatingStreamSinkConduit;

  private static java.util.zip.Deflater lambda$0(int);
    descriptor: (I)Ljava/util/zip/Deflater;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
         0: .line 105
            new java.util.zip.Deflater
            dup
            iload 0
            iconst_1
            invokespecial java.util.zip.Deflater.<init>:(IZ)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.zip.Deflater lambda$2(int);
    descriptor: (I)Ljava/util/zip/Deflater;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
         0: .line 109
            new java.util.zip.Deflater
            dup
            iload 0
            iconst_1
            invokespecial java.util.zip.Deflater.<init>:(IZ)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "DeflatingStreamSinkConduit.java"
NestMembers:
  io.undertow.conduits.DeflatingStreamSinkConduit$1
InnerClasses:
  io.undertow.conduits.DeflatingStreamSinkConduit$1
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public ChannelListenerHandler = org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler of org.xnio.conduits.WriteReadyHandler