public class org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder
  super_class: java.lang.Object
{
  final short[] Models;
    descriptor: [S
    flags: (0x0010) ACC_FINAL

  final int NumBitLevels;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  int decodeMethodState;
    descriptor: I
    flags: (0x0000) 

  int m;
    descriptor: I
    flags: (0x0000) 

  int bitIndex;
    descriptor: I
    flags: (0x0000) 

  int reverseDecodeMethodState;
    descriptor: I
    flags: (0x0000) 

  int symbol;
    descriptor: I
    flags: (0x0000) 

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder this
        start local 1 // int numBitLevels
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            aload 0 /* this */
            iload 1 /* numBitLevels */
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.NumBitLevels:I
         2: .line 42
            aload 0 /* this */
            iconst_1
            iload 1 /* numBitLevels */
            ishl
            newarray 9
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.Models:[S
         3: .line 43
            return
        end local 1 // int numBitLevels
        end local 0 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/BitTreeDecoder;
            0    4     1  numBitLevels  I
    MethodParameters:
              Name  Flags
      numBitLevels  

  public void init();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder this
         0: .line 46
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.decodeMethodState:I
         1: .line 47
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.reverseDecodeMethodState:I
         2: .line 49
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.Models:[S
            invokestatic org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder.initBitModels:([S)V
         3: .line 50
            return
        end local 0 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/BitTreeDecoder;

  public boolean decode(org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState, org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder);
    descriptor: (Lorg/glassfish/grizzly/compression/lzma/LZMADecoder$LZMAInputState;Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/RangeDecoder;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder this
        start local 1 // org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState decodeState
        start local 2 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder rangeDecoder
         0: .line 55
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.decodeMethodState:I
            tableswitch { // 0 - 3
                    0: 1
                    1: 4
                    2: 8
                    3: 14
              default: 17
          }
         1: .line 57
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.m:I
         2: .line 58
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.NumBitLevels:I
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.bitIndex:I
         3: .line 59
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.decodeMethodState:I
         4: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.bitIndex:I
            ifne 7
         5: .line 63
            aload 0 /* this */
            iconst_3
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.decodeMethodState:I
         6: .line 64
            goto 0
         7: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.decodeMethodState:I
         8: .line 70
      StackMap locals:
      StackMap stack:
            aload 2 /* rangeDecoder */
            aload 1 /* decodeState */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.Models:[S
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.m:I
            invokevirtual org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder.decodeBit:(Lorg/glassfish/grizzly/compression/lzma/LZMADecoder$LZMAInputState;[SI)Z
            ifne 10
         9: .line 71
            iconst_0
            ireturn
        10: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.m:I
            iconst_1
            ishl
            aload 1 /* decodeState */
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.lastMethodResult:I
            iadd
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.m:I
        11: .line 75
            aload 0 /* this */
            dup
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.bitIndex:I
            iconst_1
            isub
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.bitIndex:I
        12: .line 77
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.decodeMethodState:I
        13: .line 78
            goto 0
        14: .line 81
      StackMap locals:
      StackMap stack:
            aload 1 /* decodeState */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.m:I
            iconst_1
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.NumBitLevels:I
            ishl
            isub
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.lastMethodResult:I
        15: .line 82
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.decodeMethodState:I
        16: .line 83
            iconst_1
            ireturn
        17: .line 87
      StackMap locals:
      StackMap stack:
            goto 0
        end local 2 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder rangeDecoder
        end local 1 // org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState decodeState
        end local 0 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/BitTreeDecoder;
            0   18     1   decodeState  Lorg/glassfish/grizzly/compression/lzma/LZMADecoder$LZMAInputState;
            0   18     2  rangeDecoder  Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/RangeDecoder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      decodeState   
      rangeDecoder  

  public boolean reverseDecode(org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState, org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder);
    descriptor: (Lorg/glassfish/grizzly/compression/lzma/LZMADecoder$LZMAInputState;Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/RangeDecoder;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder this
        start local 1 // org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState decodeState
        start local 2 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder rangeDecoder
         0: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.reverseDecodeMethodState:I
            tableswitch { // 0 - 3
                    0: 1
                    1: 5
                    2: 9
                    3: 18
              default: 21
          }
         1: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.m:I
         2: .line 96
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.symbol:I
         3: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.bitIndex:I
         4: .line 98
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.reverseDecodeMethodState:I
         5: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.bitIndex:I
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.NumBitLevels:I
            if_icmplt 8
         6: .line 102
            aload 0 /* this */
            iconst_3
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.reverseDecodeMethodState:I
         7: .line 103
            goto 0
         8: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.reverseDecodeMethodState:I
         9: .line 109
      StackMap locals:
      StackMap stack:
            aload 2 /* rangeDecoder */
            aload 1 /* decodeState */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.Models:[S
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.m:I
            invokevirtual org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder.decodeBit:(Lorg/glassfish/grizzly/compression/lzma/LZMADecoder$LZMAInputState;[SI)Z
            ifne 11
        10: .line 110
            iconst_0
            ireturn
        11: .line 113
      StackMap locals:
      StackMap stack:
            aload 1 /* decodeState */
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.lastMethodResult:I
            istore 3 /* bit */
        start local 3 // int bit
        12: .line 114
            aload 0 /* this */
            dup
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.m:I
            iconst_1
            ishl
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.m:I
        13: .line 115
            aload 0 /* this */
            dup
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.m:I
            iload 3 /* bit */
            iadd
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.m:I
        14: .line 116
            aload 0 /* this */
            dup
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.symbol:I
            iload 3 /* bit */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.bitIndex:I
            ishl
            ior
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.symbol:I
        15: .line 118
            aload 0 /* this */
            dup
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.bitIndex:I
            iconst_1
            iadd
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.bitIndex:I
        16: .line 119
            aload 0 /* this */
            iconst_1
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.reverseDecodeMethodState:I
        17: .line 120
            goto 0
        end local 3 // int bit
        18: .line 123
      StackMap locals:
      StackMap stack:
            aload 1 /* decodeState */
            aload 0 /* this */
            getfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.symbol:I
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.lastMethodResult:I
        19: .line 124
            aload 0 /* this */
            iconst_0
            putfield org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder.reverseDecodeMethodState:I
        20: .line 125
            iconst_1
            ireturn
        21: .line 129
      StackMap locals:
      StackMap stack:
            goto 0
        end local 2 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder rangeDecoder
        end local 1 // org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState decodeState
        end local 0 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.BitTreeDecoder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/BitTreeDecoder;
            0   22     1   decodeState  Lorg/glassfish/grizzly/compression/lzma/LZMADecoder$LZMAInputState;
            0   22     2  rangeDecoder  Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/RangeDecoder;
           12   18     3           bit  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      decodeState   
      rangeDecoder  

  public static boolean reverseDecode(org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState, short[], int, org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder, int);
    descriptor: (Lorg/glassfish/grizzly/compression/lzma/LZMADecoder$LZMAInputState;[SILorg/glassfish/grizzly/compression/lzma/impl/rangecoder/RangeDecoder;I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState decodeState
        start local 1 // short[] Models
        start local 2 // int startIndex
        start local 3 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder rangeDecoder
        start local 4 // int NumBitLevels
         0: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* decodeState */
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticReverseDecodeMethodState:I
            tableswitch { // 0 - 3
                    0: 1
                    1: 5
                    2: 9
                    3: 18
              default: 21
          }
         1: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* decodeState */
            iconst_1
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticM:I
         2: .line 139
            aload 0 /* decodeState */
            iconst_0
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticSymbol:I
         3: .line 140
            aload 0 /* decodeState */
            iconst_0
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticBitIndex:I
         4: .line 141
            aload 0 /* decodeState */
            iconst_1
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticReverseDecodeMethodState:I
         5: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* decodeState */
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticBitIndex:I
            iload 4 /* NumBitLevels */
            if_icmplt 8
         6: .line 145
            aload 0 /* decodeState */
            iconst_3
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticReverseDecodeMethodState:I
         7: .line 146
            goto 0
         8: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* decodeState */
            iconst_2
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticReverseDecodeMethodState:I
         9: .line 152
      StackMap locals:
      StackMap stack:
            aload 3 /* rangeDecoder */
            aload 0 /* decodeState */
            aload 1 /* Models */
            iload 2 /* startIndex */
            aload 0 /* decodeState */
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticM:I
            iadd
            invokevirtual org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder.decodeBit:(Lorg/glassfish/grizzly/compression/lzma/LZMADecoder$LZMAInputState;[SI)Z
            ifne 11
        10: .line 153
            iconst_0
            ireturn
        11: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* decodeState */
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.lastMethodResult:I
            istore 5 /* bit */
        start local 5 // int bit
        12: .line 157
            aload 0 /* decodeState */
            dup
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticM:I
            iconst_1
            ishl
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticM:I
        13: .line 158
            aload 0 /* decodeState */
            dup
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticM:I
            iload 5 /* bit */
            iadd
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticM:I
        14: .line 159
            aload 0 /* decodeState */
            dup
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticSymbol:I
            iload 5 /* bit */
            aload 0 /* decodeState */
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticBitIndex:I
            ishl
            ior
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticSymbol:I
        15: .line 161
            aload 0 /* decodeState */
            dup
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticBitIndex:I
            iconst_1
            iadd
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticBitIndex:I
        16: .line 162
            aload 0 /* decodeState */
            iconst_1
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticReverseDecodeMethodState:I
        17: .line 163
            goto 0
        end local 5 // int bit
        18: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* decodeState */
            aload 0 /* decodeState */
            getfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticSymbol:I
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.lastMethodResult:I
        19: .line 167
            aload 0 /* decodeState */
            iconst_0
            putfield org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState.staticReverseDecodeMethodState:I
        20: .line 168
            iconst_1
            ireturn
        21: .line 172
      StackMap locals:
      StackMap stack:
            goto 0
        end local 4 // int NumBitLevels
        end local 3 // org.glassfish.grizzly.compression.lzma.impl.rangecoder.RangeDecoder rangeDecoder
        end local 2 // int startIndex
        end local 1 // short[] Models
        end local 0 // org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState decodeState
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0   decodeState  Lorg/glassfish/grizzly/compression/lzma/LZMADecoder$LZMAInputState;
            0   22     1        Models  [S
            0   22     2    startIndex  I
            0   22     3  rangeDecoder  Lorg/glassfish/grizzly/compression/lzma/impl/rangecoder/RangeDecoder;
            0   22     4  NumBitLevels  I
           12   18     5           bit  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      decodeState   
      Models        
      startIndex    
      rangeDecoder  
      NumBitLevels  
}
SourceFile: "BitTreeDecoder.java"
InnerClasses:
  public LZMAInputState = org.glassfish.grizzly.compression.lzma.LZMADecoder$LZMAInputState of org.glassfish.grizzly.compression.lzma.LZMADecoder