public class org.apache.avro.file.BZip2Codec extends org.apache.avro.file.Codec
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.avro.file.BZip2Codec
  super_class: org.apache.avro.file.Codec
{
  public static final int DEFAULT_BUFFER_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65536

  private final byte[] buffer;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.io.ByteArrayOutputStream outputBuffer;
    descriptor: Ljava/io/ByteArrayOutputStream;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.avro.file.BZip2Codec this
         0: .line 29
            aload 0 /* this */
            invokespecial org.apache.avro.file.Codec.<init>:()V
         1: .line 32
            aload 0 /* this */
            ldc 65536
            newarray 8
            putfield org.apache.avro.file.BZip2Codec.buffer:[B
         2: .line 29
            return
        end local 0 // org.apache.avro.file.BZip2Codec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/avro/file/BZip2Codec;

  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.apache.avro.file.BZip2Codec this
         0: .line 45
            ldc "bzip2"
            areturn
        end local 0 // org.apache.avro.file.BZip2Codec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/file/BZip2Codec;

  public java.nio.ByteBuffer compress(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.apache.avro.file.BZip2Codec this
        start local 1 // java.nio.ByteBuffer uncompressedData
         0: .line 50
            aload 0 /* this */
            aload 1 /* uncompressedData */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual org.apache.avro.file.BZip2Codec.getOutputBuffer:(I)Ljava/io/ByteArrayOutputStream;
            astore 2 /* baos */
        start local 2 // java.io.ByteArrayOutputStream baos
         1: .line 52
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: new org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream
            dup
            aload 2 /* baos */
            invokespecial org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* outputStream */
        start local 5 // org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream outputStream
         3: .line 53
            aload 5 /* outputStream */
            aload 1 /* uncompressedData */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 1 /* uncompressedData */
            invokestatic org.apache.avro.file.BZip2Codec.computeOffset:(Ljava/nio/ByteBuffer;)I
            aload 1 /* uncompressedData */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream.write:([BII)V
         4: .line 54
            aload 5 /* outputStream */
            ifnull 10
            aload 5 /* outputStream */
            invokevirtual org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream.close:()V
            goto 10
      StackMap locals: org.apache.avro.file.BZip2Codec java.nio.ByteBuffer java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream
      StackMap stack: java.lang.Throwable
         5: astore 3
            aload 5 /* outputStream */
            ifnull 6
            aload 5 /* outputStream */
            invokevirtual org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream.close:()V
        end local 5 // org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream outputStream
      StackMap locals:
      StackMap stack:
         6: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 4
            aload 3
            ifnonnull 8
            aload 4
            astore 3
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 3
            aload 4
            if_acmpeq 9
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 3
            athrow
        10: .line 56
      StackMap locals:
      StackMap stack:
            aload 2 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            areturn
        end local 2 // java.io.ByteArrayOutputStream baos
        end local 1 // java.nio.ByteBuffer uncompressedData
        end local 0 // org.apache.avro.file.BZip2Codec this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lorg/apache/avro/file/BZip2Codec;
            0   11     1  uncompressedData  Ljava/nio/ByteBuffer;
            1   11     2              baos  Ljava/io/ByteArrayOutputStream;
            3    6     5      outputStream  Lorg/apache/commons/compress/compressors/bzip2/BZip2CompressorOutputStream;
      Exception table:
        from    to  target  type
           3     4       5  any
           2     7       7  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      uncompressedData  

  public java.nio.ByteBuffer decompress(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.apache.avro.file.BZip2Codec this
        start local 1 // java.nio.ByteBuffer compressedData
         0: .line 61
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* compressedData */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 1 /* compressedData */
            invokestatic org.apache.avro.file.BZip2Codec.computeOffset:(Ljava/nio/ByteBuffer;)I
         1: .line 62
            aload 1 /* compressedData */
            invokevirtual java.nio.ByteBuffer.remaining:()I
         2: .line 61
            invokespecial java.io.ByteArrayInputStream.<init>:([BII)V
            astore 2 /* bais */
        start local 2 // java.io.ByteArrayInputStream bais
         3: .line 63
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: new org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream
            dup
            aload 2 /* bais */
            invokespecial org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.<init>:(Ljava/io/InputStream;)V
            astore 5 /* inputStream */
        start local 5 // org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream inputStream
         5: .line 64
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 6 /* baos */
        start local 6 // java.io.ByteArrayOutputStream baos
         6: .line 66
            iconst_m1
            istore 7 /* readCount */
        start local 7 // int readCount
         7: .line 67
            goto 9
         8: .line 68
      StackMap locals: org.apache.avro.file.BZip2Codec java.nio.ByteBuffer java.io.ByteArrayInputStream java.lang.Throwable java.lang.Throwable org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream java.io.ByteArrayOutputStream int
      StackMap stack:
            aload 6 /* baos */
            aload 0 /* this */
            getfield org.apache.avro.file.BZip2Codec.buffer:[B
            iconst_0
            iload 7 /* readCount */
            invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
         9: .line 67
      StackMap locals:
      StackMap stack:
            aload 5 /* inputStream */
            aload 0 /* this */
            getfield org.apache.avro.file.BZip2Codec.buffer:[B
            aload 1 /* compressedData */
            invokevirtual java.nio.ByteBuffer.position:()I
            aload 0 /* this */
            getfield org.apache.avro.file.BZip2Codec.buffer:[B
            arraylength
            invokevirtual org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.read:([BII)I
            dup
            istore 7 /* readCount */
            ifgt 8
        10: .line 71
            aload 6 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
        11: .line 72
            aload 5 /* inputStream */
            ifnull 12
            aload 5 /* inputStream */
            invokevirtual org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.close:()V
        12: .line 71
      StackMap locals:
      StackMap stack: java.nio.ByteBuffer
            areturn
        end local 7 // int readCount
        end local 6 // java.io.ByteArrayOutputStream baos
      StackMap locals: org.apache.avro.file.BZip2Codec java.nio.ByteBuffer java.io.ByteArrayInputStream java.lang.Throwable java.lang.Throwable org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream
      StackMap stack: java.lang.Throwable
        13: astore 3
        14: .line 72
            aload 5 /* inputStream */
            ifnull 15
            aload 5 /* inputStream */
            invokevirtual org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream.close:()V
        end local 5 // org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream inputStream
      StackMap locals:
      StackMap stack:
        15: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 4
            aload 3
            ifnonnull 17
            aload 4
            astore 3
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 3
            aload 4
            if_acmpeq 18
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 3
            athrow
        end local 2 // java.io.ByteArrayInputStream bais
        end local 1 // java.nio.ByteBuffer compressedData
        end local 0 // org.apache.avro.file.BZip2Codec this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lorg/apache/avro/file/BZip2Codec;
            0   19     1  compressedData  Ljava/nio/ByteBuffer;
            3   19     2            bais  Ljava/io/ByteArrayInputStream;
            5   15     5     inputStream  Lorg/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStream;
            6   13     6            baos  Ljava/io/ByteArrayOutputStream;
            7   13     7       readCount  I
      Exception table:
        from    to  target  type
           5    11      13  any
           4    12      16  any
          13    16      16  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      compressedData  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.avro.file.BZip2Codec this
         0: .line 77
            aload 0 /* this */
            invokevirtual org.apache.avro.file.BZip2Codec.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // org.apache.avro.file.BZip2Codec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/avro/file/BZip2Codec;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.avro.file.BZip2Codec this
        start local 1 // java.lang.Object obj
         0: .line 82
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 83
            iconst_1
            ireturn
         2: .line 84
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ifnull 3
            aload 1 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // org.apache.avro.file.BZip2Codec this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/avro/file/BZip2Codec;
            0    4     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  private java.io.ByteArrayOutputStream getOutputBuffer(int);
    descriptor: (I)Ljava/io/ByteArrayOutputStream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.avro.file.BZip2Codec this
        start local 1 // int suggestedLength
         0: .line 89
            aload 0 /* this */
            getfield org.apache.avro.file.BZip2Codec.outputBuffer:Ljava/io/ByteArrayOutputStream;
            ifnonnull 2
         1: .line 90
            aload 0 /* this */
            new java.io.ByteArrayOutputStream
            dup
            iload 1 /* suggestedLength */
            invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
            putfield org.apache.avro.file.BZip2Codec.outputBuffer:Ljava/io/ByteArrayOutputStream;
         2: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.avro.file.BZip2Codec.outputBuffer:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.reset:()V
         3: .line 93
            aload 0 /* this */
            getfield org.apache.avro.file.BZip2Codec.outputBuffer:Ljava/io/ByteArrayOutputStream;
            areturn
        end local 1 // int suggestedLength
        end local 0 // org.apache.avro.file.BZip2Codec this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/apache/avro/file/BZip2Codec;
            0    4     1  suggestedLength  I
    MethodParameters:
                 Name  Flags
      suggestedLength  
}
SourceFile: "BZip2Codec.java"
NestMembers:
  org.apache.avro.file.BZip2Codec$Option
InnerClasses:
  Option = org.apache.avro.file.BZip2Codec$Option of org.apache.avro.file.BZip2Codec