class org.apache.commons.compress.archivers.dump.TapeInputStream extends java.io.FilterInputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.commons.compress.archivers.dump.TapeInputStream
  super_class: java.io.FilterInputStream
{
  private byte[] blockBuffer;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

  private static volatile int[] $SWITCH_TABLE$org$apache$commons$compress$archivers$dump$DumpArchiveConstants$COMPRESSION_TYPE;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
        start local 1 // java.io.InputStream in
         0: .line 50
            aload 0 /* this */
            aload 1 /* in */
            invokespecial java.io.FilterInputStream.<init>:(Ljava/io/InputStream;)V
         1: .line 38
            aload 0 /* this */
            sipush 1024
            newarray 8
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
         2: .line 39
            aload 0 /* this */
            iconst_m1
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.currBlkIdx:I
         3: .line 40
            aload 0 /* this */
            sipush 1024
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
         4: .line 42
            aload 0 /* this */
            sipush 1024
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
         5: .line 43
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.isCompressed:Z
         6: .line 44
            aload 0 /* this */
            lconst_0
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.bytesRead:J
         7: .line 51
            return
        end local 1 // java.io.InputStream in
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;
            0    8     1    in  Ljava/io/InputStream;
    MethodParameters:
      Name  Flags
      in    final

  public void resetBlockSize(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
        start local 1 // int recsPerBlock
        start local 2 // boolean isCompressed
         0: .line 69
            aload 0 /* this */
            iload 2 /* isCompressed */
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.isCompressed:Z
         1: .line 71
            aload 0 /* this */
            sipush 1024
            iload 1 /* recsPerBlock */
            imul
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
         2: .line 74
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
            astore 3 /* oldBuffer */
        start local 3 // byte[] oldBuffer
         3: .line 77
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            newarray 8
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
         4: .line 78
            aload 3 /* oldBuffer */
            iconst_0
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
            iconst_0
            sipush 1024
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 79
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
            sipush 1024
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            sipush 1024
            isub
            invokevirtual org.apache.commons.compress.archivers.dump.TapeInputStream.readFully:([BII)V
         6: .line 81
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.currBlkIdx:I
         7: .line 82
            aload 0 /* this */
            sipush 1024
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
         8: .line 83
            return
        end local 3 // byte[] oldBuffer
        end local 2 // boolean isCompressed
        end local 1 // int recsPerBlock
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;
            0    9     1  recsPerBlock  I
            0    9     2  isCompressed  Z
            3    9     3     oldBuffer  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      recsPerBlock  final
      isCompressed  final

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
         0: .line 90
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            if_icmpge 2
         1: .line 91
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            isub
            ireturn
         2: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.available:()I
            ireturn
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;
    Exceptions:
      throws java.io.IOException

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
         0: .line 102
            new java.lang.IllegalArgumentException
            dup
         1: .line 103
            ldc "all reads must be multiple of record size (1024 bytes."
         2: .line 102
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;
    Exceptions:
      throws java.io.IOException

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 117
            iload 3 /* len */
            sipush 1024
            irem
            ifeq 4
         1: .line 118
            new java.lang.IllegalArgumentException
            dup
         2: .line 119
            ldc "all reads must be multiple of record size (1024 bytes."
         3: .line 118
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 123
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* bytes */
        start local 4 // int bytes
         5: .line 125
            goto 20
         6: .line 129
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            if_icmpne 11
         7: .line 131
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.commons.compress.archivers.dump.TapeInputStream.readBlock:(Z)V
         8: .line 132
            goto 11
      StackMap locals:
      StackMap stack: org.apache.commons.compress.archivers.dump.ShortFileException
         9: pop
        10: .line 133
            iconst_m1
            ireturn
        11: .line 137
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* n */
        start local 5 // int n
        12: .line 139
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            iload 3 /* len */
            iload 4 /* bytes */
            isub
            iadd
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            if_icmpgt 15
        13: .line 141
            iload 3 /* len */
            iload 4 /* bytes */
            isub
            istore 5 /* n */
        14: .line 142
            goto 16
        15: .line 144
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            isub
            istore 5 /* n */
        16: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            aload 1 /* b */
            iload 2 /* off */
            iload 5 /* n */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 149
            aload 0 /* this */
            dup
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            iload 5 /* n */
            iadd
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
        18: .line 150
            iload 4 /* bytes */
            iload 5 /* n */
            iadd
            istore 4 /* bytes */
        19: .line 151
            iload 2 /* off */
            iload 5 /* n */
            iadd
            istore 2 /* off */
        end local 5 // int n
        20: .line 125
      StackMap locals:
      StackMap stack:
            iload 4 /* bytes */
            iload 3 /* len */
            if_icmplt 6
        21: .line 154
            iload 4 /* bytes */
            ireturn
        end local 4 // int bytes
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0   this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;
            0   22     1      b  [B
            0   22     2    off  I
            0   22     3    len  I
            5   22     4  bytes  I
           12   20     5      n  I
      Exception table:
        from    to  target  type
           7     8       9  Class org.apache.commons.compress.archivers.dump.ShortFileException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     final
      off   
      len   final

  public long skip(long);
    descriptor: (J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
        start local 1 // long len
         0: .line 167
            lload 1 /* len */
            ldc 1024
            lrem
            lconst_0
            lcmp
            ifeq 4
         1: .line 168
            new java.lang.IllegalArgumentException
            dup
         2: .line 169
            ldc "all reads must be multiple of record size (1024 bytes."
         3: .line 168
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 173
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 3 /* bytes */
        start local 3 // long bytes
         5: .line 175
            goto 20
         6: .line 180
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            if_icmpne 13
         7: .line 182
            aload 0 /* this */
            lload 1 /* len */
            lload 3 /* bytes */
            lsub
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            i2l
            lcmp
            ifge 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack: org.apache.commons.compress.archivers.dump.TapeInputStream
         8: iconst_0
      StackMap locals: org.apache.commons.compress.archivers.dump.TapeInputStream long long
      StackMap stack: org.apache.commons.compress.archivers.dump.TapeInputStream int
         9: invokevirtual org.apache.commons.compress.archivers.dump.TapeInputStream.readBlock:(Z)V
        10: .line 183
            goto 13
      StackMap locals:
      StackMap stack: org.apache.commons.compress.archivers.dump.ShortFileException
        11: pop
        12: .line 184
            ldc -1
            lreturn
        13: .line 188
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 5 /* n */
        start local 5 // long n
        14: .line 190
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            i2l
            lload 1 /* len */
            lload 3 /* bytes */
            lsub
            ladd
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            i2l
            lcmp
            ifgt 17
        15: .line 192
            lload 1 /* len */
            lload 3 /* bytes */
            lsub
            lstore 5 /* n */
        16: .line 193
            goto 18
        17: .line 195
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            i2l
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            i2l
            lsub
            lstore 5 /* n */
        18: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            i2l
            lload 5 /* n */
            ladd
            l2i
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
        19: .line 200
            lload 3 /* bytes */
            lload 5 /* n */
            ladd
            lstore 3 /* bytes */
        end local 5 // long n
        20: .line 175
      StackMap locals:
      StackMap stack:
            lload 3 /* bytes */
            lload 1 /* len */
            lcmp
            iflt 6
        21: .line 203
            lload 3 /* bytes */
            lreturn
        end local 3 // long bytes
        end local 1 // long len
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0   this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;
            0   22     1    len  J
            5   22     3  bytes  J
           14   20     5      n  J
      Exception table:
        from    to  target  type
           7    10      11  Class org.apache.commons.compress.archivers.dump.ShortFileException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      len   final

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
         0: .line 213
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.in:Ljava/io/InputStream;
            ifnull 2
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.in:Ljava/io/InputStream;
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 2
         1: .line 214
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
         2: .line 216
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;
    Exceptions:
      throws java.io.IOException

  public byte[] peek();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
         0: .line 228
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            if_icmpne 5
         1: .line 230
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.commons.compress.archivers.dump.TapeInputStream.readBlock:(Z)V
         2: .line 231
            goto 5
      StackMap locals:
      StackMap stack: org.apache.commons.compress.archivers.dump.ShortFileException
         3: pop
         4: .line 232
            aconst_null
            areturn
         5: .line 237
      StackMap locals:
      StackMap stack:
            sipush 1024
            newarray 8
            astore 1 /* b */
        start local 1 // byte[] b
         6: .line 238
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
            aload 1 /* b */
            iconst_0
            aload 1 /* b */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 240
            aload 1 /* b */
            areturn
        end local 1 // byte[] b
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;
            6    8     1     b  [B
      Exception table:
        from    to  target  type
           1     2       3  Class org.apache.commons.compress.archivers.dump.ShortFileException
    Exceptions:
      throws java.io.IOException

  public byte[] readRecord();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
         0: .line 250
            sipush 1024
            newarray 8
            astore 1 /* result */
        start local 1 // byte[] result
         1: .line 254
            iconst_m1
            aload 0 /* this */
            aload 1 /* result */
            iconst_0
            aload 1 /* result */
            arraylength
            invokevirtual org.apache.commons.compress.archivers.dump.TapeInputStream.read:([BII)I
            if_icmpne 3
         2: .line 255
            new org.apache.commons.compress.archivers.dump.ShortFileException
            dup
            invokespecial org.apache.commons.compress.archivers.dump.ShortFileException.<init>:()V
            athrow
         3: .line 258
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // byte[] result
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;
            1    4     1  result  [B
    Exceptions:
      throws java.io.IOException

  private void readBlock(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
        start local 1 // boolean decompress
         0: .line 268
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.in:Ljava/io/InputStream;
            ifnonnull 2
         1: .line 269
            new java.io.IOException
            dup
            ldc "input buffer is closed"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.isCompressed:Z
            ifeq 3
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.currBlkIdx:I
            iconst_m1
            if_icmpne 6
         3: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
            iconst_0
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            invokevirtual org.apache.commons.compress.archivers.dump.TapeInputStream.readFully:([BII)V
         4: .line 275
            aload 0 /* this */
            dup
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.bytesRead:J
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            i2l
            ladd
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.bytesRead:J
         5: .line 276
            goto 46
         6: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
            iconst_0
            iconst_4
            invokevirtual org.apache.commons.compress.archivers.dump.TapeInputStream.readFully:([BII)V
         7: .line 278
            aload 0 /* this */
            dup
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.bytesRead:J
            ldc 4
            ladd
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.bytesRead:J
         8: .line 280
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
            iconst_0
            invokestatic org.apache.commons.compress.archivers.dump.DumpArchiveUtil.convert32:([BI)I
            istore 2 /* h */
        start local 2 // int h
         9: .line 281
            iload 2 /* h */
            iconst_1
            iand
            iconst_1
            if_icmpne 10
            iconst_1
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 3 /* compressed */
        start local 3 // boolean compressed
        12: .line 283
            iload 3 /* compressed */
            ifne 16
        13: .line 285
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
            iconst_0
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            invokevirtual org.apache.commons.compress.archivers.dump.TapeInputStream.readFully:([BII)V
        14: .line 286
            aload 0 /* this */
            dup
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.bytesRead:J
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            i2l
            ladd
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.bytesRead:J
        15: .line 287
            goto 46
        16: .line 289
      StackMap locals: int
      StackMap stack:
            iload 2 /* h */
            iconst_1
            ishr
            bipush 7
            iand
            istore 4 /* flags */
        start local 4 // int flags
        17: .line 290
            iload 2 /* h */
            iconst_4
            ishr
            ldc 268435455
            iand
            istore 5 /* length */
        start local 5 // int length
        18: .line 291
            iload 5 /* length */
            newarray 8
            astore 6 /* compBuffer */
        start local 6 // byte[] compBuffer
        19: .line 292
            aload 0 /* this */
            aload 6 /* compBuffer */
            iconst_0
            iload 5 /* length */
            invokevirtual org.apache.commons.compress.archivers.dump.TapeInputStream.readFully:([BII)V
        20: .line 293
            aload 0 /* this */
            dup
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.bytesRead:J
            iload 5 /* length */
            i2l
            ladd
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.bytesRead:J
        21: .line 295
            iload 1 /* decompress */
            ifne 24
        22: .line 297
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
            iconst_0
            invokestatic java.util.Arrays.fill:([BB)V
        23: .line 298
            goto 46
        24: .line 299
      StackMap locals: int int byte[]
      StackMap stack:
            invokestatic org.apache.commons.compress.archivers.dump.TapeInputStream.$SWITCH_TABLE$org$apache$commons$compress$archivers$dump$DumpArchiveConstants$COMPRESSION_TYPE:()[I
            iload 4 /* flags */
        25: .line 300
            iconst_3
        26: .line 299
            iand
            invokestatic org.apache.commons.compress.archivers.dump.DumpArchiveConstants$COMPRESSION_TYPE.find:(I)Lorg/apache/commons/compress/archivers/dump/DumpArchiveConstants$COMPRESSION_TYPE;
            invokevirtual org.apache.commons.compress.archivers.dump.DumpArchiveConstants$COMPRESSION_TYPE.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 27
                    2: 39
                    3: 42
              default: 45
          }
        27: .line 303
      StackMap locals:
      StackMap stack:
            new java.util.zip.Inflater
            dup
            invokespecial java.util.zip.Inflater.<init>:()V
            astore 7 /* inflator */
        start local 7 // java.util.zip.Inflater inflator
        28: .line 305
            aload 7 /* inflator */
            aload 6 /* compBuffer */
            iconst_0
            aload 6 /* compBuffer */
            arraylength
            invokevirtual java.util.zip.Inflater.setInput:([BII)V
        29: .line 306
            aload 7 /* inflator */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockBuffer:[B
            invokevirtual java.util.zip.Inflater.inflate:([B)I
            istore 5 /* length */
        30: .line 308
            iload 5 /* length */
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.blockSize:I
            if_icmpeq 37
        31: .line 309
            new org.apache.commons.compress.archivers.dump.ShortFileException
            dup
            invokespecial org.apache.commons.compress.archivers.dump.ShortFileException.<init>:()V
            athrow
        32: .line 311
      StackMap locals: org.apache.commons.compress.archivers.dump.TapeInputStream int int int int int byte[] java.util.zip.Inflater
      StackMap stack: java.util.zip.DataFormatException
            astore 8 /* e */
        start local 8 // java.util.zip.DataFormatException e
        33: .line 312
            new org.apache.commons.compress.archivers.dump.DumpArchiveException
            dup
            ldc "bad data"
            aload 8 /* e */
            invokespecial org.apache.commons.compress.archivers.dump.DumpArchiveException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.util.zip.DataFormatException e
        34: .line 313
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        35: .line 314
            aload 7 /* inflator */
            invokevirtual java.util.zip.Inflater.end:()V
        36: .line 315
            aload 9
            athrow
        37: .line 314
      StackMap locals:
      StackMap stack:
            aload 7 /* inflator */
            invokevirtual java.util.zip.Inflater.end:()V
        38: .line 317
            goto 46
        end local 7 // java.util.zip.Inflater inflator
        39: .line 320
      StackMap locals:
      StackMap stack:
            new org.apache.commons.compress.archivers.dump.UnsupportedCompressionAlgorithmException
            dup
        40: .line 321
            ldc "BZLIB2"
        41: .line 320
            invokespecial org.apache.commons.compress.archivers.dump.UnsupportedCompressionAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 324
      StackMap locals:
      StackMap stack:
            new org.apache.commons.compress.archivers.dump.UnsupportedCompressionAlgorithmException
            dup
        43: .line 325
            ldc "LZO"
        44: .line 324
            invokespecial org.apache.commons.compress.archivers.dump.UnsupportedCompressionAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 328
      StackMap locals:
      StackMap stack:
            new org.apache.commons.compress.archivers.dump.UnsupportedCompressionAlgorithmException
            dup
            invokespecial org.apache.commons.compress.archivers.dump.UnsupportedCompressionAlgorithmException.<init>:()V
            athrow
        end local 6 // byte[] compBuffer
        end local 5 // int length
        end local 4 // int flags
        end local 3 // boolean compressed
        end local 2 // int h
        46: .line 334
      StackMap locals: org.apache.commons.compress.archivers.dump.TapeInputStream int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.currBlkIdx:I
            iconst_1
            iadd
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.currBlkIdx:I
        47: .line 335
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.compress.archivers.dump.TapeInputStream.readOffset:I
        48: .line 336
            return
        end local 1 // boolean decompress
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   49     0        this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;
            0   49     1  decompress  Z
            9   46     2           h  I
           12   46     3  compressed  Z
           17   46     4       flags  I
           18   46     5      length  I
           19   46     6  compBuffer  [B
           28   39     7    inflator  Ljava/util/zip/Inflater;
           33   34     8           e  Ljava/util/zip/DataFormatException;
      Exception table:
        from    to  target  type
          28    32      32  Class java.util.zip.DataFormatException
          28    34      34  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      decompress  final

  private void readFully(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 343
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.in:Ljava/io/InputStream;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokestatic org.apache.commons.compress.utils.IOUtils.readFully:(Ljava/io/InputStream;[BII)I
            istore 4 /* count */
        start local 4 // int count
         1: .line 344
            iload 4 /* count */
            iload 3 /* len */
            if_icmpge 3
         2: .line 345
            new org.apache.commons.compress.archivers.dump.ShortFileException
            dup
            invokespecial org.apache.commons.compress.archivers.dump.ShortFileException.<init>:()V
            athrow
         3: .line 347
      StackMap locals: int
      StackMap stack:
            return
        end local 4 // int count
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;
            0    4     1      b  [B
            0    4     2    off  I
            0    4     3    len  I
            1    4     4  count  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     final
      off   final
      len   final

  public long getBytesRead();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
         0: .line 353
            aload 0 /* this */
            getfield org.apache.commons.compress.archivers.dump.TapeInputStream.bytesRead:J
            lreturn
        end local 0 // org.apache.commons.compress.archivers.dump.TapeInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/compress/archivers/dump/TapeInputStream;

  static int[] $SWITCH_TABLE$org$apache$commons$compress$archivers$dump$DumpArchiveConstants$COMPRESSION_TYPE();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 37
            getstatic org.apache.commons.compress.archivers.dump.TapeInputStream.$SWITCH_TABLE$org$apache$commons$compress$archivers$dump$DumpArchiveConstants$COMPRESSION_TYPE:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.apache.commons.compress.archivers.dump.DumpArchiveConstants$COMPRESSION_TYPE.values:()[Lorg/apache/commons/compress/archivers/dump/DumpArchiveConstants$COMPRESSION_TYPE;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.apache.commons.compress.archivers.dump.DumpArchiveConstants$COMPRESSION_TYPE.BZLIB:Lorg/apache/commons/compress/archivers/dump/DumpArchiveConstants$COMPRESSION_TYPE;
            invokevirtual org.apache.commons.compress.archivers.dump.DumpArchiveConstants$COMPRESSION_TYPE.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.apache.commons.compress.archivers.dump.DumpArchiveConstants$COMPRESSION_TYPE.LZO:Lorg/apache/commons/compress/archivers/dump/DumpArchiveConstants$COMPRESSION_TYPE;
            invokevirtual org.apache.commons.compress.archivers.dump.DumpArchiveConstants$COMPRESSION_TYPE.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.apache.commons.compress.archivers.dump.DumpArchiveConstants$COMPRESSION_TYPE.ZLIB:Lorg/apache/commons/compress/archivers/dump/DumpArchiveConstants$COMPRESSION_TYPE;
            invokevirtual org.apache.commons.compress.archivers.dump.DumpArchiveConstants$COMPRESSION_TYPE.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic org.apache.commons.compress.archivers.dump.TapeInputStream.$SWITCH_TABLE$org$apache$commons$compress$archivers$dump$DumpArchiveConstants$COMPRESSION_TYPE:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "TapeInputStream.java"
InnerClasses:
  public final COMPRESSION_TYPE = org.apache.commons.compress.archivers.dump.DumpArchiveConstants$COMPRESSION_TYPE of org.apache.commons.compress.archivers.dump.DumpArchiveConstants