public class org.glassfish.grizzly.compression.zip.GZipEncoder extends org.glassfish.grizzly.AbstractTransformer<org.glassfish.grizzly.Buffer, org.glassfish.grizzly.Buffer>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.grizzly.compression.zip.GZipEncoder
  super_class: org.glassfish.grizzly.AbstractTransformer
{
  private static final int GZIP_MAGIC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 35615

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

  private final int bufferSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final org.glassfish.grizzly.Buffer header;
    descriptor: Lorg/glassfish/grizzly/Buffer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 50
            getstatic org.glassfish.grizzly.memory.MemoryManager.DEFAULT_MEMORY_MANAGER:Lorg/glassfish/grizzly/memory/MemoryManager;
            bipush 10
            invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocate:(I)Lorg/glassfish/grizzly/Buffer;
            putstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
         1: .line 51
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            bipush 31
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
         2: .line 52
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            bipush -117
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
         3: .line 53
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            bipush 8
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
         4: .line 54
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            iconst_0
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
         5: .line 55
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            iconst_0
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
         6: .line 56
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            iconst_0
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
         7: .line 57
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            iconst_0
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
         8: .line 58
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            iconst_0
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
         9: .line 59
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            iconst_0
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
        10: .line 60
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            iconst_0
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
        11: .line 62
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            invokeinterface org.glassfish.grizzly.Buffer.flip:()Lorg/glassfish/grizzly/Buffer;
            pop
        12: .line 63
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
         0: .line 66
            aload 0 /* this */
            sipush 512
            invokespecial org.glassfish.grizzly.compression.zip.GZipEncoder.<init>:(I)V
         1: .line 67
            return
        end local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/grizzly/compression/zip/GZipEncoder;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
        start local 1 // int bufferSize
         0: .line 69
            aload 0 /* this */
            invokespecial org.glassfish.grizzly.AbstractTransformer.<init>:()V
         1: .line 70
            aload 0 /* this */
            iload 1 /* bufferSize */
            putfield org.glassfish.grizzly.compression.zip.GZipEncoder.bufferSize:I
         2: .line 71
            return
        end local 1 // int bufferSize
        end local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/glassfish/grizzly/compression/zip/GZipEncoder;
            0    3     1  bufferSize  I
    MethodParameters:
            Name  Flags
      bufferSize  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
         0: .line 78
            ldc "gzip-encoder"
            areturn
        end local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/compression/zip/GZipEncoder;

  public boolean hasInputRemaining(org.glassfish.grizzly.attributes.AttributeStorage, org.glassfish.grizzly.Buffer);
    descriptor: (Lorg/glassfish/grizzly/attributes/AttributeStorage;Lorg/glassfish/grizzly/Buffer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
        start local 1 // org.glassfish.grizzly.attributes.AttributeStorage storage
        start local 2 // org.glassfish.grizzly.Buffer input
         0: .line 86
            aload 2 /* input */
            invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
            ireturn
        end local 2 // org.glassfish.grizzly.Buffer input
        end local 1 // org.glassfish.grizzly.attributes.AttributeStorage storage
        end local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/glassfish/grizzly/compression/zip/GZipEncoder;
            0    1     1  storage  Lorg/glassfish/grizzly/attributes/AttributeStorage;
            0    1     2    input  Lorg/glassfish/grizzly/Buffer;
    MethodParameters:
         Name  Flags
      storage  
      input    

  protected org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState createStateObject();
    descriptor: ()Lorg/glassfish/grizzly/compression/zip/GZipEncoder$GZipOutputState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
         0: .line 94
            new org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState
            dup
            invokespecial org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.<init>:()V
            areturn
        end local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/grizzly/compression/zip/GZipEncoder;

  protected org.glassfish.grizzly.TransformationResult<org.glassfish.grizzly.Buffer, org.glassfish.grizzly.Buffer> transformImpl(org.glassfish.grizzly.attributes.AttributeStorage, org.glassfish.grizzly.Buffer);
    descriptor: (Lorg/glassfish/grizzly/attributes/AttributeStorage;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/TransformationResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
        start local 1 // org.glassfish.grizzly.attributes.AttributeStorage storage
        start local 2 // org.glassfish.grizzly.Buffer input
         0: .line 103
            aload 0 /* this */
            aload 1 /* storage */
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.obtainMemoryManager:(Lorg/glassfish/grizzly/attributes/AttributeStorage;)Lorg/glassfish/grizzly/memory/MemoryManager;
            astore 3 /* memoryManager */
        start local 3 // org.glassfish.grizzly.memory.MemoryManager memoryManager
         1: .line 104
            aload 0 /* this */
            aload 1 /* storage */
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.obtainStateObject:(Lorg/glassfish/grizzly/attributes/AttributeStorage;)Lorg/glassfish/grizzly/AbstractTransformer$LastResultAwareState;
            checkcast org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState
            astore 4 /* state */
        start local 4 // org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState state
         2: .line 106
            aload 4 /* state */
            getfield org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.isInitialized:Z
            ifne 4
         3: .line 107
            aload 4 /* state */
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.initialize:()V
         4: .line 110
      StackMap locals: org.glassfish.grizzly.memory.MemoryManager org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState
      StackMap stack:
            aconst_null
            astore 5 /* encodedBuffer */
        start local 5 // org.glassfish.grizzly.Buffer encodedBuffer
         5: .line 111
            aload 2 /* input */
            ifnull 7
            aload 2 /* input */
            invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
            ifeq 7
         6: .line 112
            aload 0 /* this */
            aload 2 /* input */
            aload 4 /* state */
            aload 3 /* memoryManager */
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.encodeBuffer:(Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/compression/zip/GZipEncoder$GZipOutputState;Lorg/glassfish/grizzly/memory/MemoryManager;)Lorg/glassfish/grizzly/Buffer;
            astore 5 /* encodedBuffer */
         7: .line 115
      StackMap locals: org.glassfish.grizzly.Buffer
      StackMap stack:
            aload 5 /* encodedBuffer */
            ifnonnull 9
         8: .line 116
            aconst_null
            invokestatic org.glassfish.grizzly.TransformationResult.createIncompletedResult:(Ljava/lang/Object;)Lorg/glassfish/grizzly/TransformationResult;
            areturn
         9: .line 120
      StackMap locals:
      StackMap stack:
            aload 4 /* state */
            getfield org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.isHeaderWritten:Z
            ifne 12
        10: .line 121
            aload 4 /* state */
            iconst_1
            putfield org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.isHeaderWritten:Z
        11: .line 123
            aload 3 /* memoryManager */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.getHeader:()Lorg/glassfish/grizzly/Buffer;
            aload 5 /* encodedBuffer */
            invokestatic org.glassfish.grizzly.memory.Buffers.appendBuffers:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
            astore 5 /* encodedBuffer */
        12: .line 126
      StackMap locals:
      StackMap stack:
            aload 5 /* encodedBuffer */
            aconst_null
            invokestatic org.glassfish.grizzly.TransformationResult.createCompletedResult:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/glassfish/grizzly/TransformationResult;
            areturn
        end local 5 // org.glassfish.grizzly.Buffer encodedBuffer
        end local 4 // org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState state
        end local 3 // org.glassfish.grizzly.memory.MemoryManager memoryManager
        end local 2 // org.glassfish.grizzly.Buffer input
        end local 1 // org.glassfish.grizzly.attributes.AttributeStorage storage
        end local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/glassfish/grizzly/compression/zip/GZipEncoder;
            0   13     1        storage  Lorg/glassfish/grizzly/attributes/AttributeStorage;
            0   13     2          input  Lorg/glassfish/grizzly/Buffer;
            1   13     3  memoryManager  Lorg/glassfish/grizzly/memory/MemoryManager;
            2   13     4          state  Lorg/glassfish/grizzly/compression/zip/GZipEncoder$GZipOutputState;
            5   13     5  encodedBuffer  Lorg/glassfish/grizzly/Buffer;
    Exceptions:
      throws org.glassfish.grizzly.TransformationException
    Signature: (Lorg/glassfish/grizzly/attributes/AttributeStorage;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/TransformationResult<Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;>;
    MethodParameters:
         Name  Flags
      storage  
      input    

  public org.glassfish.grizzly.Buffer finish(org.glassfish.grizzly.attributes.AttributeStorage);
    descriptor: (Lorg/glassfish/grizzly/attributes/AttributeStorage;)Lorg/glassfish/grizzly/Buffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
        start local 1 // org.glassfish.grizzly.attributes.AttributeStorage storage
         0: .line 136
            aload 0 /* this */
            aload 1 /* storage */
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.obtainMemoryManager:(Lorg/glassfish/grizzly/attributes/AttributeStorage;)Lorg/glassfish/grizzly/memory/MemoryManager;
            astore 2 /* memoryManager */
        start local 2 // org.glassfish.grizzly.memory.MemoryManager memoryManager
         1: .line 137
            aload 0 /* this */
            aload 1 /* storage */
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.obtainStateObject:(Lorg/glassfish/grizzly/attributes/AttributeStorage;)Lorg/glassfish/grizzly/AbstractTransformer$LastResultAwareState;
            checkcast org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState
            astore 3 /* state */
        start local 3 // org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState state
         2: .line 139
            aconst_null
            astore 4 /* resultBuffer */
        start local 4 // org.glassfish.grizzly.Buffer resultBuffer
         3: .line 141
            aload 3 /* state */
            getfield org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.isInitialized:Z
            ifeq 20
         4: .line 142
            aload 3 /* state */
            getfield org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.deflater:Ljava/util/zip/Deflater;
            astore 5 /* deflater */
        start local 5 // java.util.zip.Deflater deflater
         5: .line 143
            aload 5 /* deflater */
            invokevirtual java.util.zip.Deflater.finished:()Z
            ifne 19
         6: .line 144
            aload 5 /* deflater */
            invokevirtual java.util.zip.Deflater.finish:()V
         7: .line 146
            goto 9
         8: .line 147
      StackMap locals: org.glassfish.grizzly.compression.zip.GZipEncoder org.glassfish.grizzly.attributes.AttributeStorage org.glassfish.grizzly.memory.MemoryManager org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState org.glassfish.grizzly.Buffer java.util.zip.Deflater
      StackMap stack:
            aload 2 /* memoryManager */
            aload 4 /* resultBuffer */
            aload 0 /* this */
            aload 5 /* deflater */
            aload 2 /* memoryManager */
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.deflate:(Ljava/util/zip/Deflater;Lorg/glassfish/grizzly/memory/MemoryManager;)Lorg/glassfish/grizzly/Buffer;
            invokestatic org.glassfish.grizzly.memory.Buffers.appendBuffers:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
            astore 4 /* resultBuffer */
         9: .line 146
      StackMap locals:
      StackMap stack:
            aload 5 /* deflater */
            invokevirtual java.util.zip.Deflater.finished:()Z
            ifeq 8
        10: .line 151
            aload 3 /* state */
            getfield org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.isHeaderWritten:Z
            ifne 13
        11: .line 152
            aload 3 /* state */
            iconst_1
            putfield org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.isHeaderWritten:Z
        12: .line 154
            aload 2 /* memoryManager */
            aload 0 /* this */
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.getHeader:()Lorg/glassfish/grizzly/Buffer;
            aload 4 /* resultBuffer */
            invokestatic org.glassfish.grizzly.memory.Buffers.appendBuffers:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
            astore 4 /* resultBuffer */
        13: .line 158
      StackMap locals:
      StackMap stack:
            aload 2 /* memoryManager */
            bipush 8
            invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocate:(I)Lorg/glassfish/grizzly/Buffer;
            astore 6 /* trailer */
        start local 6 // org.glassfish.grizzly.Buffer trailer
        14: .line 159
            aload 3 /* state */
            getfield org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.crc32:Ljava/util/zip/CRC32;
            astore 7 /* crc32 */
        start local 7 // java.util.zip.CRC32 crc32
        15: .line 160
            aload 6 /* trailer */
            aload 7 /* crc32 */
            invokevirtual java.util.zip.CRC32.getValue:()J
            l2i
            invokestatic org.glassfish.grizzly.compression.zip.GZipEncoder.putUInt:(Lorg/glassfish/grizzly/Buffer;I)V
        16: .line 161
            aload 6 /* trailer */
            aload 5 /* deflater */
            invokevirtual java.util.zip.Deflater.getTotalIn:()I
            invokestatic org.glassfish.grizzly.compression.zip.GZipEncoder.putUInt:(Lorg/glassfish/grizzly/Buffer;I)V
        17: .line 162
            aload 6 /* trailer */
            invokeinterface org.glassfish.grizzly.Buffer.flip:()Lorg/glassfish/grizzly/Buffer;
            pop
        18: .line 164
            aload 2 /* memoryManager */
            aload 4 /* resultBuffer */
            aload 6 /* trailer */
            invokestatic org.glassfish.grizzly.memory.Buffers.appendBuffers:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
            astore 4 /* resultBuffer */
        end local 7 // java.util.zip.CRC32 crc32
        end local 6 // org.glassfish.grizzly.Buffer trailer
        19: .line 167
      StackMap locals:
      StackMap stack:
            aload 3 /* state */
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.reset:()V
        end local 5 // java.util.zip.Deflater deflater
        20: .line 170
      StackMap locals:
      StackMap stack:
            aload 4 /* resultBuffer */
            areturn
        end local 4 // org.glassfish.grizzly.Buffer resultBuffer
        end local 3 // org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState state
        end local 2 // org.glassfish.grizzly.memory.MemoryManager memoryManager
        end local 1 // org.glassfish.grizzly.attributes.AttributeStorage storage
        end local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/glassfish/grizzly/compression/zip/GZipEncoder;
            0   21     1        storage  Lorg/glassfish/grizzly/attributes/AttributeStorage;
            1   21     2  memoryManager  Lorg/glassfish/grizzly/memory/MemoryManager;
            2   21     3          state  Lorg/glassfish/grizzly/compression/zip/GZipEncoder$GZipOutputState;
            3   21     4   resultBuffer  Lorg/glassfish/grizzly/Buffer;
            5   20     5       deflater  Ljava/util/zip/Deflater;
           14   19     6        trailer  Lorg/glassfish/grizzly/Buffer;
           15   19     7          crc32  Ljava/util/zip/CRC32;
    MethodParameters:
         Name  Flags
      storage  

  private org.glassfish.grizzly.Buffer getHeader();
    descriptor: ()Lorg/glassfish/grizzly/Buffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
         0: .line 174
            getstatic org.glassfish.grizzly.compression.zip.GZipEncoder.header:Lorg/glassfish/grizzly/Buffer;
            invokeinterface org.glassfish.grizzly.Buffer.duplicate:()Lorg/glassfish/grizzly/Buffer;
            astore 1 /* headerToWrite */
        start local 1 // org.glassfish.grizzly.Buffer headerToWrite
         1: .line 175
            aload 1 /* headerToWrite */
            iconst_0
            invokeinterface org.glassfish.grizzly.Buffer.allowBufferDispose:(Z)V
         2: .line 176
            aload 1 /* headerToWrite */
            areturn
        end local 1 // org.glassfish.grizzly.Buffer headerToWrite
        end local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/glassfish/grizzly/compression/zip/GZipEncoder;
            1    3     1  headerToWrite  Lorg/glassfish/grizzly/Buffer;

  private org.glassfish.grizzly.Buffer encodeBuffer(org.glassfish.grizzly.Buffer, org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState, org.glassfish.grizzly.memory.MemoryManager);
    descriptor: (Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/compression/zip/GZipEncoder$GZipOutputState;Lorg/glassfish/grizzly/memory/MemoryManager;)Lorg/glassfish/grizzly/Buffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=18, args_size=4
        start local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
        start local 1 // org.glassfish.grizzly.Buffer buffer
        start local 2 // org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState state
        start local 3 // org.glassfish.grizzly.memory.MemoryManager memoryManager
         0: .line 180
            aload 2 /* state */
            getfield org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.crc32:Ljava/util/zip/CRC32;
            astore 4 /* crc32 */
        start local 4 // java.util.zip.CRC32 crc32
         1: .line 181
            aload 2 /* state */
            getfield org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState.deflater:Ljava/util/zip/Deflater;
            astore 5 /* deflater */
        start local 5 // java.util.zip.Deflater deflater
         2: .line 183
            aload 5 /* deflater */
            invokevirtual java.util.zip.Deflater.finished:()Z
            ifeq 4
         3: .line 184
            new java.lang.IllegalStateException
            dup
            ldc "write beyond end of stream"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 189
      StackMap locals: java.util.zip.CRC32 java.util.zip.Deflater
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.zip.GZipEncoder.bufferSize:I
            istore 6 /* stride */
        start local 6 // int stride
         5: .line 190
            aconst_null
            astore 7 /* resultBuffer */
        start local 7 // org.glassfish.grizzly.Buffer resultBuffer
         6: .line 191
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.toByteBufferArray:()Lorg/glassfish/grizzly/memory/ByteBufferArray;
            astore 8 /* byteBufferArray */
        start local 8 // org.glassfish.grizzly.memory.ByteBufferArray byteBufferArray
         7: .line 192
            aload 8 /* byteBufferArray */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.getArray:()[Ljava/lang/Object;
            checkcast java.nio.ByteBuffer[]
            astore 9 /* buffers */
        start local 9 // java.nio.ByteBuffer[] buffers
         8: .line 193
            aload 8 /* byteBufferArray */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.size:()I
            istore 10 /* size */
        start local 10 // int size
         9: .line 195
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        10: goto 34
        11: .line 196
      StackMap locals: org.glassfish.grizzly.compression.zip.GZipEncoder org.glassfish.grizzly.Buffer org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState org.glassfish.grizzly.memory.MemoryManager java.util.zip.CRC32 java.util.zip.Deflater int org.glassfish.grizzly.Buffer org.glassfish.grizzly.memory.ByteBufferArray java.nio.ByteBuffer[] int int
      StackMap stack:
            aload 9 /* buffers */
            iload 11 /* i */
            aaload
            astore 12 /* byteBuffer */
        start local 12 // java.nio.ByteBuffer byteBuffer
        12: .line 197
            aload 12 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 13 /* len */
        start local 13 // int len
        13: .line 198
            iload 13 /* len */
            ifle 33
        14: .line 201
            aload 12 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 18
        15: .line 202
            aload 12 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 14 /* buf */
        start local 14 // byte[] buf
        16: .line 203
            aload 12 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 12 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 15 /* off */
        start local 15 // int off
        17: .line 204
            goto 22
        end local 15 // int off
        end local 14 // byte[] buf
        18: .line 206
      StackMap locals: java.nio.ByteBuffer int
      StackMap stack:
            iload 13 /* len */
            newarray 8
            astore 14 /* buf */
        start local 14 // byte[] buf
        19: .line 207
            iconst_0
            istore 15 /* off */
        start local 15 // int off
        20: .line 208
            aload 12 /* byteBuffer */
            aload 14 /* buf */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
        21: .line 209
            aload 12 /* byteBuffer */
            aload 12 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 13 /* len */
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        22: .line 212
      StackMap locals: byte[] int
      StackMap stack:
            iconst_0
            istore 16 /* j */
        start local 16 // int j
        23: goto 31
        24: .line 213
      StackMap locals: int
      StackMap stack:
            aload 5 /* deflater */
            aload 14 /* buf */
            iload 15 /* off */
            iload 16 /* j */
            iadd
            iload 6 /* stride */
            iload 13 /* len */
            iload 16 /* j */
            isub
            invokestatic java.lang.Math.min:(II)I
            invokevirtual java.util.zip.Deflater.setInput:([BII)V
        25: .line 214
            goto 29
        26: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* deflater */
            aload 3 /* memoryManager */
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.deflate:(Ljava/util/zip/Deflater;Lorg/glassfish/grizzly/memory/MemoryManager;)Lorg/glassfish/grizzly/Buffer;
            astore 17 /* deflated */
        start local 17 // org.glassfish.grizzly.Buffer deflated
        27: .line 216
            aload 17 /* deflated */
            ifnull 29
        28: .line 217
            aload 3 /* memoryManager */
            aload 7 /* resultBuffer */
            aload 17 /* deflated */
            invokestatic org.glassfish.grizzly.memory.Buffers.appendBuffers:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
            astore 7 /* resultBuffer */
        end local 17 // org.glassfish.grizzly.Buffer deflated
        29: .line 214
      StackMap locals:
      StackMap stack:
            aload 5 /* deflater */
            invokevirtual java.util.zip.Deflater.needsInput:()Z
            ifeq 26
        30: .line 212
            iload 16 /* j */
            iload 6 /* stride */
            iadd
            istore 16 /* j */
      StackMap locals:
      StackMap stack:
        31: iload 16 /* j */
            iload 13 /* len */
            if_icmplt 24
        end local 16 // int j
        32: .line 222
            aload 4 /* crc32 */
            aload 14 /* buf */
            iload 15 /* off */
            iload 13 /* len */
            invokevirtual java.util.zip.CRC32.update:([BII)V
        end local 15 // int off
        end local 14 // byte[] buf
        end local 13 // int len
        end local 12 // java.nio.ByteBuffer byteBuffer
        33: .line 195
      StackMap locals: org.glassfish.grizzly.compression.zip.GZipEncoder org.glassfish.grizzly.Buffer org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState org.glassfish.grizzly.memory.MemoryManager java.util.zip.CRC32 java.util.zip.Deflater int org.glassfish.grizzly.Buffer org.glassfish.grizzly.memory.ByteBufferArray java.nio.ByteBuffer[] int int
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 11 /* i */
            iload 10 /* size */
            if_icmplt 11
        end local 11 // int i
        35: .line 226
            aload 8 /* byteBufferArray */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.restore:()V
        36: .line 227
            aload 8 /* byteBufferArray */
            invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.recycle:()V
        37: .line 229
            aload 1 /* buffer */
            aload 1 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.limit:()I
            invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
            pop
        38: .line 231
            aload 7 /* resultBuffer */
            areturn
        end local 10 // int size
        end local 9 // java.nio.ByteBuffer[] buffers
        end local 8 // org.glassfish.grizzly.memory.ByteBufferArray byteBufferArray
        end local 7 // org.glassfish.grizzly.Buffer resultBuffer
        end local 6 // int stride
        end local 5 // java.util.zip.Deflater deflater
        end local 4 // java.util.zip.CRC32 crc32
        end local 3 // org.glassfish.grizzly.memory.MemoryManager memoryManager
        end local 2 // org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState state
        end local 1 // org.glassfish.grizzly.Buffer buffer
        end local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   39     0             this  Lorg/glassfish/grizzly/compression/zip/GZipEncoder;
            0   39     1           buffer  Lorg/glassfish/grizzly/Buffer;
            0   39     2            state  Lorg/glassfish/grizzly/compression/zip/GZipEncoder$GZipOutputState;
            0   39     3    memoryManager  Lorg/glassfish/grizzly/memory/MemoryManager;
            1   39     4            crc32  Ljava/util/zip/CRC32;
            2   39     5         deflater  Ljava/util/zip/Deflater;
            5   39     6           stride  I
            6   39     7     resultBuffer  Lorg/glassfish/grizzly/Buffer;
            7   39     8  byteBufferArray  Lorg/glassfish/grizzly/memory/ByteBufferArray;
            8   39     9          buffers  [Ljava/nio/ByteBuffer;
            9   39    10             size  I
           10   35    11                i  I
           12   33    12       byteBuffer  Ljava/nio/ByteBuffer;
           13   33    13              len  I
           16   18    14              buf  [B
           19   33    14              buf  [B
           17   18    15              off  I
           20   33    15              off  I
           23   32    16                j  I
           27   29    17         deflated  Lorg/glassfish/grizzly/Buffer;
    MethodParameters:
               Name  Flags
      buffer         
      state          
      memoryManager  

  protected org.glassfish.grizzly.Buffer deflate(java.util.zip.Deflater, org.glassfish.grizzly.memory.MemoryManager);
    descriptor: (Ljava/util/zip/Deflater;Lorg/glassfish/grizzly/memory/MemoryManager;)Lorg/glassfish/grizzly/Buffer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
        start local 1 // java.util.zip.Deflater deflater
        start local 2 // org.glassfish.grizzly.memory.MemoryManager memoryManager
         0: .line 238
            aload 2 /* memoryManager */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.zip.GZipEncoder.bufferSize:I
            invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocate:(I)Lorg/glassfish/grizzly/Buffer;
            astore 3 /* buffer */
        start local 3 // org.glassfish.grizzly.Buffer buffer
         1: .line 239
            aload 3 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.toByteBuffer:()Ljava/nio/ByteBuffer;
            astore 4 /* byteBuffer */
        start local 4 // java.nio.ByteBuffer byteBuffer
         2: .line 240
            aload 4 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 5 /* array */
        start local 5 // byte[] array
         3: .line 241
            aload 4 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 4 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 6 /* offset */
        start local 6 // int offset
         4: .line 243
            aload 1 /* deflater */
            aload 5 /* array */
            iload 6 /* offset */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.zip.GZipEncoder.bufferSize:I
            invokevirtual java.util.zip.Deflater.deflate:([BII)I
            istore 7 /* len */
        start local 7 // int len
         5: .line 244
            iload 7 /* len */
            ifgt 8
         6: .line 245
            aload 3 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
         7: .line 246
            aconst_null
            areturn
         8: .line 249
      StackMap locals: org.glassfish.grizzly.compression.zip.GZipEncoder java.util.zip.Deflater org.glassfish.grizzly.memory.MemoryManager org.glassfish.grizzly.Buffer java.nio.ByteBuffer byte[] int int
      StackMap stack:
            aload 3 /* buffer */
            iload 7 /* len */
            invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
            pop
         9: .line 250
            aload 3 /* buffer */
            invokeinterface org.glassfish.grizzly.Buffer.trim:()V
        10: .line 252
            aload 3 /* buffer */
            areturn
        end local 7 // int len
        end local 6 // int offset
        end local 5 // byte[] array
        end local 4 // java.nio.ByteBuffer byteBuffer
        end local 3 // org.glassfish.grizzly.Buffer buffer
        end local 2 // org.glassfish.grizzly.memory.MemoryManager memoryManager
        end local 1 // java.util.zip.Deflater deflater
        end local 0 // org.glassfish.grizzly.compression.zip.GZipEncoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/glassfish/grizzly/compression/zip/GZipEncoder;
            0   11     1       deflater  Ljava/util/zip/Deflater;
            0   11     2  memoryManager  Lorg/glassfish/grizzly/memory/MemoryManager;
            1   11     3         buffer  Lorg/glassfish/grizzly/Buffer;
            2   11     4     byteBuffer  Ljava/nio/ByteBuffer;
            3   11     5          array  [B
            4   11     6         offset  I
            5   11     7            len  I
    MethodParameters:
               Name  Flags
      deflater       
      memoryManager  

  private static void putUInt(org.glassfish.grizzly.Buffer, int);
    descriptor: (Lorg/glassfish/grizzly/Buffer;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.Buffer buffer
        start local 1 // int value
         0: .line 259
            aload 0 /* buffer */
            iload 1 /* value */
            ldc 65535
            iand
            invokestatic org.glassfish.grizzly.compression.zip.GZipEncoder.putUShort:(Lorg/glassfish/grizzly/Buffer;I)V
         1: .line 260
            aload 0 /* buffer */
            iload 1 /* value */
            bipush 16
            ishr
            ldc 65535
            iand
            invokestatic org.glassfish.grizzly.compression.zip.GZipEncoder.putUShort:(Lorg/glassfish/grizzly/Buffer;I)V
         2: .line 261
            return
        end local 1 // int value
        end local 0 // org.glassfish.grizzly.Buffer buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  buffer  Lorg/glassfish/grizzly/Buffer;
            0    3     1   value  I
    MethodParameters:
        Name  Flags
      buffer  
      value   

  private static void putUShort(org.glassfish.grizzly.Buffer, int);
    descriptor: (Lorg/glassfish/grizzly/Buffer;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.Buffer buffer
        start local 1 // int value
         0: .line 267
            aload 0 /* buffer */
            iload 1 /* value */
            sipush 255
            iand
            i2b
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
         1: .line 268
            aload 0 /* buffer */
            iload 1 /* value */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokeinterface org.glassfish.grizzly.Buffer.put:(B)Lorg/glassfish/grizzly/Buffer;
            pop
         2: .line 269
            return
        end local 1 // int value
        end local 0 // org.glassfish.grizzly.Buffer buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  buffer  Lorg/glassfish/grizzly/Buffer;
            0    3     1   value  I
    MethodParameters:
        Name  Flags
      buffer  
      value   

  protected org.glassfish.grizzly.AbstractTransformer$LastResultAwareState createStateObject();
    descriptor: ()Lorg/glassfish/grizzly/AbstractTransformer$LastResultAwareState;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.createStateObject:()Lorg/glassfish/grizzly/compression/zip/GZipEncoder$GZipOutputState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean hasInputRemaining(org.glassfish.grizzly.attributes.AttributeStorage, java.lang.Object);
    descriptor: (Lorg/glassfish/grizzly/attributes/AttributeStorage;Ljava/lang/Object;)Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.glassfish.grizzly.Buffer
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.hasInputRemaining:(Lorg/glassfish/grizzly/attributes/AttributeStorage;Lorg/glassfish/grizzly/Buffer;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected org.glassfish.grizzly.TransformationResult transformImpl(org.glassfish.grizzly.attributes.AttributeStorage, java.lang.Object);
    descriptor: (Lorg/glassfish/grizzly/attributes/AttributeStorage;Ljava/lang/Object;)Lorg/glassfish/grizzly/TransformationResult;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.glassfish.grizzly.Buffer
            invokevirtual org.glassfish.grizzly.compression.zip.GZipEncoder.transformImpl:(Lorg/glassfish/grizzly/attributes/AttributeStorage;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/TransformationResult;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.glassfish.grizzly.TransformationException
}
Signature: Lorg/glassfish/grizzly/AbstractTransformer<Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;>;
SourceFile: "GZipEncoder.java"
NestMembers:
  org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState
InnerClasses:
  public LastResultAwareState = org.glassfish.grizzly.AbstractTransformer$LastResultAwareState of org.glassfish.grizzly.AbstractTransformer
  protected final GZipOutputState = org.glassfish.grizzly.compression.zip.GZipEncoder$GZipOutputState of org.glassfish.grizzly.compression.zip.GZipEncoder