public class sun.text.normalizer.TrieIterator implements sun.text.normalizer.RangeValueIterator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.text.normalizer.TrieIterator
  super_class: java.lang.Object
{
  private static final int BMP_INDEX_LENGTH_;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2048

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

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

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

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

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

  private sun.text.normalizer.Trie m_trie_;
    descriptor: Lsun/text/normalizer/Trie;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

  public void <init>(sun.text.normalizer.Trie);
    descriptor: (Lsun/text/normalizer/Trie;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.text.normalizer.TrieIterator this
        start local 1 // sun.text.normalizer.Trie trie
         0: .line 119
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 121
            aload 1 /* trie */
            ifnonnull 5
         2: .line 122
            new java.lang.IllegalArgumentException
            dup
         3: .line 123
            ldc "Argument trie cannot be null"
         4: .line 122
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 125
      StackMap locals: sun.text.normalizer.TrieIterator sun.text.normalizer.Trie
      StackMap stack:
            aload 0 /* this */
            aload 1 /* trie */
            putfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
         6: .line 127
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            invokevirtual sun.text.normalizer.Trie.getInitialValue:()I
            invokevirtual sun.text.normalizer.TrieIterator.extract:(I)I
            putfield sun.text.normalizer.TrieIterator.m_initialValue_:I
         7: .line 128
            aload 0 /* this */
            invokevirtual sun.text.normalizer.TrieIterator.reset:()V
         8: .line 129
            return
        end local 1 // sun.text.normalizer.Trie trie
        end local 0 // sun.text.normalizer.TrieIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/text/normalizer/TrieIterator;
            0    9     1  trie  Lsun/text/normalizer/Trie;
    MethodParameters:
      Name  Flags
      trie  

  public final boolean next(sun.text.normalizer.RangeValueIterator$Element);
    descriptor: (Lsun/text/normalizer/RangeValueIterator$Element;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.text.normalizer.TrieIterator this
        start local 1 // sun.text.normalizer.RangeValueIterator$Element element
         0: .line 145
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            ldc 1114111
            if_icmple 2
         1: .line 146
            iconst_0
            ireturn
         2: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            ldc 65536
            if_icmpge 5
         3: .line 149
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual sun.text.normalizer.TrieIterator.calculateNextBMPElement:(Lsun/text/normalizer/RangeValueIterator$Element;)Z
            ifeq 5
         4: .line 150
            iconst_1
            ireturn
         5: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual sun.text.normalizer.TrieIterator.calculateNextSupplementaryElement:(Lsun/text/normalizer/RangeValueIterator$Element;)V
         6: .line 153
            iconst_1
            ireturn
        end local 1 // sun.text.normalizer.RangeValueIterator$Element element
        end local 0 // sun.text.normalizer.TrieIterator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lsun/text/normalizer/TrieIterator;
            0    7     1  element  Lsun/text/normalizer/RangeValueIterator$Element;
    MethodParameters:
         Name  Flags
      element  

  public final void reset();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.text.normalizer.TrieIterator this
         0: .line 161
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
         1: .line 162
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
         2: .line 163
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
         3: .line 164
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            getfield sun.text.normalizer.Trie.m_index_:[C
            iconst_0
            caload
            iconst_2
            ishl
            putfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
         4: .line 165
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
            ifne 7
         5: .line 166
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
            putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
         6: .line 167
            goto 8
         7: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
            invokevirtual sun.text.normalizer.Trie.getValue:(I)I
            invokevirtual sun.text.normalizer.TrieIterator.extract:(I)I
            putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
         8: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
         9: .line 172
            aload 0 /* this */
            bipush 32
            putfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
        10: .line 173
            return
        end local 0 // sun.text.normalizer.TrieIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/text/normalizer/TrieIterator;

  protected int extract(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.text.normalizer.TrieIterator this
        start local 1 // int value
         0: .line 188
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // sun.text.normalizer.TrieIterator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/text/normalizer/TrieIterator;
            0    1     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private final void setResult(sun.text.normalizer.RangeValueIterator$Element, int, int, int);
    descriptor: (Lsun/text/normalizer/RangeValueIterator$Element;III)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // sun.text.normalizer.TrieIterator this
        start local 1 // sun.text.normalizer.RangeValueIterator$Element element
        start local 2 // int start
        start local 3 // int limit
        start local 4 // int value
         0: .line 203
            aload 1 /* element */
            iload 2 /* start */
            putfield sun.text.normalizer.RangeValueIterator$Element.start:I
         1: .line 204
            aload 1 /* element */
            iload 3 /* limit */
            putfield sun.text.normalizer.RangeValueIterator$Element.limit:I
         2: .line 205
            aload 1 /* element */
            iload 4 /* value */
            putfield sun.text.normalizer.RangeValueIterator$Element.value:I
         3: .line 206
            return
        end local 4 // int value
        end local 3 // int limit
        end local 2 // int start
        end local 1 // sun.text.normalizer.RangeValueIterator$Element element
        end local 0 // sun.text.normalizer.TrieIterator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lsun/text/normalizer/TrieIterator;
            0    4     1  element  Lsun/text/normalizer/RangeValueIterator$Element;
            0    4     2    start  I
            0    4     3    limit  I
            0    4     4    value  I
    MethodParameters:
         Name  Flags
      element  
      start    
      limit    
      value    

  private final boolean calculateNextBMPElement(sun.text.normalizer.RangeValueIterator$Element);
    descriptor: (Lsun/text/normalizer/RangeValueIterator$Element;)Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.text.normalizer.TrieIterator this
        start local 1 // sun.text.normalizer.RangeValueIterator$Element element
         0: .line 221
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
            istore 2 /* currentBlock */
        start local 2 // int currentBlock
         1: .line 222
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextValue_:I
            istore 3 /* currentValue */
        start local 3 // int currentValue
         2: .line 223
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
         3: .line 224
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            iconst_1
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
         4: .line 225
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
            iconst_1
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
         5: .line 226
            aload 0 /* this */
            iload 3 /* currentValue */
            invokevirtual sun.text.normalizer.TrieIterator.checkBlockDetail:(I)Z
            ifne 22
         6: .line 227
            aload 0 /* this */
            aload 1 /* element */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
         7: .line 228
            iload 3 /* currentValue */
         8: .line 227
            invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
         9: .line 229
            iconst_1
            ireturn
        10: .line 234
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
            iconst_1
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
        11: .line 238
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            ldc 55296
            if_icmpne 14
        12: .line 241
            aload 0 /* this */
            sipush 2048
            putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
        13: .line 242
            goto 16
        14: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            ldc 56320
            if_icmpne 16
        15: .line 245
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            iconst_5
            ishr
            putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
        16: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
        17: .line 249
            aload 0 /* this */
            iload 2 /* currentBlock */
            iload 3 /* currentValue */
            invokevirtual sun.text.normalizer.TrieIterator.checkBlock:(II)Z
            ifne 22
        18: .line 250
            aload 0 /* this */
            aload 1 /* element */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
        19: .line 251
            iload 3 /* currentValue */
        20: .line 250
            invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
        21: .line 252
            iconst_1
            ireturn
        22: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            ldc 65536
            if_icmplt 10
        23: .line 255
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            iconst_1
            isub
            putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
        24: .line 256
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
            iconst_1
            isub
            putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
        25: .line 257
            iconst_0
            ireturn
        end local 3 // int currentValue
        end local 2 // int currentBlock
        end local 1 // sun.text.normalizer.RangeValueIterator$Element element
        end local 0 // sun.text.normalizer.TrieIterator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0          this  Lsun/text/normalizer/TrieIterator;
            0   26     1       element  Lsun/text/normalizer/RangeValueIterator$Element;
            1   26     2  currentBlock  I
            2   26     3  currentValue  I
    MethodParameters:
         Name  Flags
      element  

  private final void calculateNextSupplementaryElement(sun.text.normalizer.RangeValueIterator$Element);
    descriptor: (Lsun/text/normalizer/RangeValueIterator$Element;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // sun.text.normalizer.TrieIterator this
        start local 1 // sun.text.normalizer.RangeValueIterator$Element element
         0: .line 279
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextValue_:I
            istore 2 /* currentValue */
        start local 2 // int currentValue
         1: .line 280
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
            istore 3 /* currentBlock */
        start local 3 // int currentBlock
         2: .line 281
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            iconst_1
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
         3: .line 282
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
            iconst_1
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
         4: .line 284
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            invokestatic sun.text.normalizer.UTF16.getTrailSurrogate:(I)C
         5: .line 285
            ldc 56320
         6: .line 284
            if_icmpeq 21
         7: .line 288
            aload 0 /* this */
            invokevirtual sun.text.normalizer.TrieIterator.checkNullNextTrailIndex:()Z
            ifne 13
            aload 0 /* this */
            iload 2 /* currentValue */
            invokevirtual sun.text.normalizer.TrieIterator.checkBlockDetail:(I)Z
            ifne 13
         8: .line 289
            aload 0 /* this */
            aload 1 /* element */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
         9: .line 290
            iload 2 /* currentValue */
        10: .line 289
            invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
        11: .line 291
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
        12: .line 292
            return
        13: .line 295
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
            iconst_1
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
        14: .line 296
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
            iconst_1
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
        15: .line 297
            aload 0 /* this */
            iload 3 /* currentBlock */
            iload 2 /* currentValue */
            invokevirtual sun.text.normalizer.TrieIterator.checkTrailBlock:(II)Z
            ifne 21
        16: .line 298
            aload 0 /* this */
            aload 1 /* element */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
        17: .line 299
            iload 2 /* currentValue */
        18: .line 298
            invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
        19: .line 300
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
        20: .line 301
            return
        21: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            invokestatic sun.text.normalizer.UTF16.getLeadSurrogate:(I)C
            istore 4 /* nextLead */
        start local 4 // int nextLead
        22: .line 306
            goto 72
        23: .line 309
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            getfield sun.text.normalizer.Trie.m_index_:[C
            iload 4 /* nextLead */
            iconst_5
            ishr
            caload
        24: .line 310
            iconst_2
        25: .line 309
            ishl
        26: .line 308
            istore 5 /* leadBlock */
        start local 5 // int leadBlock
        27: .line 311
            iload 5 /* leadBlock */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            getfield sun.text.normalizer.Trie.m_dataOffset_:I
            if_icmpne 43
        28: .line 313
            iload 2 /* currentValue */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
            if_icmpeq 37
        29: .line 314
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
            putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
        30: .line 315
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
        31: .line 316
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
        32: .line 317
            aload 0 /* this */
            aload 1 /* element */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
        33: .line 318
            iload 2 /* currentValue */
        34: .line 317
            invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
        35: .line 319
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
        36: .line 320
            return
        37: .line 323
      StackMap locals: int
      StackMap stack:
            iinc 4 /* nextLead */ 32
        38: .line 329
            aload 0 /* this */
        39: .line 330
            iload 4 /* nextLead */
            i2c
        40: .line 331
            ldc 56320
        41: .line 329
            invokestatic sun.text.normalizer.UCharacterProperty.getRawSupplementary:(CC)I
            putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
        42: .line 332
            goto 72
        43: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            getfield sun.text.normalizer.Trie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
            ifnonnull 47
        44: .line 335
            new java.lang.NullPointerException
            dup
        45: .line 336
            ldc "The field DataManipulate in this Trie is null"
        46: .line 335
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            getfield sun.text.normalizer.Trie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
        48: .line 340
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            iload 5 /* leadBlock */
        49: .line 341
            iload 4 /* nextLead */
            bipush 31
            iand
            iadd
        50: .line 340
            invokevirtual sun.text.normalizer.Trie.getValue:(I)I
        51: .line 339
            invokeinterface sun.text.normalizer.Trie$DataManipulate.getFoldingOffset:(I)I
            putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
        52: .line 342
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
            ifgt 64
        53: .line 344
            iload 2 /* currentValue */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
            if_icmpeq 62
        54: .line 345
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
            putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
        55: .line 346
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
        56: .line 347
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
        57: .line 348
            aload 0 /* this */
            aload 1 /* element */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
        58: .line 349
            iload 2 /* currentValue */
        59: .line 348
            invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
        60: .line 350
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
        61: .line 351
            return
        62: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            sipush 1024
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
        63: .line 354
            goto 71
        64: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
        65: .line 356
            aload 0 /* this */
            iload 3 /* currentBlock */
            iload 2 /* currentValue */
            invokevirtual sun.text.normalizer.TrieIterator.checkTrailBlock:(II)Z
            ifne 71
        66: .line 357
            aload 0 /* this */
            aload 1 /* element */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
        67: .line 358
            iload 2 /* currentValue */
        68: .line 357
            invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
        69: .line 359
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
        70: .line 360
            return
        71: .line 363
      StackMap locals:
      StackMap stack:
            iinc 4 /* nextLead */ 1
        end local 5 // int leadBlock
        72: .line 306
      StackMap locals:
      StackMap stack:
            iload 4 /* nextLead */
            ldc 56320
            if_icmplt 23
        73: .line 367
            aload 0 /* this */
            aload 1 /* element */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
            ldc 1114112
        74: .line 368
            iload 2 /* currentValue */
        75: .line 367
            invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
        76: .line 369
            return
        end local 4 // int nextLead
        end local 3 // int currentBlock
        end local 2 // int currentValue
        end local 1 // sun.text.normalizer.RangeValueIterator$Element element
        end local 0 // sun.text.normalizer.TrieIterator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   77     0          this  Lsun/text/normalizer/TrieIterator;
            0   77     1       element  Lsun/text/normalizer/RangeValueIterator$Element;
            1   77     2  currentValue  I
            2   77     3  currentBlock  I
           22   77     4      nextLead  I
           27   72     5     leadBlock  I
    MethodParameters:
         Name  Flags
      element  

  private final boolean checkBlockDetail(int);
    descriptor: (I)Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.text.normalizer.TrieIterator this
        start local 1 // int currentValue
         0: .line 385
            goto 8
         1: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
         2: .line 387
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
            iadd
         3: .line 386
            invokevirtual sun.text.normalizer.Trie.getValue:(I)I
            invokevirtual sun.text.normalizer.TrieIterator.extract:(I)I
            putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
         4: .line 388
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextValue_:I
            iload 1 /* currentValue */
            if_icmpeq 6
         5: .line 389
            iconst_0
            ireturn
         6: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
            iconst_1
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
         7: .line 392
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            iconst_1
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
         8: .line 385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
            bipush 32
            if_icmplt 1
         9: .line 394
            iconst_1
            ireturn
        end local 1 // int currentValue
        end local 0 // sun.text.normalizer.TrieIterator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lsun/text/normalizer/TrieIterator;
            0   10     1  currentValue  I
    MethodParameters:
              Name  Flags
      currentValue  

  private final boolean checkBlock(int, int);
    descriptor: (II)Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.text.normalizer.TrieIterator this
        start local 1 // int currentBlock
        start local 2 // int currentValue
         0: .line 411
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            getfield sun.text.normalizer.Trie.m_index_:[C
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
            caload
         1: .line 412
            iconst_2
            ishl
         2: .line 411
            putfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
         3: .line 413
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
            iload 1 /* currentBlock */
            if_icmpne 7
         4: .line 414
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
            isub
            bipush 32
            if_icmplt 7
         5: .line 417
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            bipush 32
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
         6: .line 418
            goto 16
         7: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
            ifne 14
         8: .line 421
            iload 2 /* currentValue */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
            if_icmpeq 12
         9: .line 422
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
            putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
        10: .line 423
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
        11: .line 424
            iconst_0
            ireturn
        12: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            bipush 32
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
        13: .line 427
            goto 16
        14: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* currentValue */
            invokevirtual sun.text.normalizer.TrieIterator.checkBlockDetail:(I)Z
            ifne 16
        15: .line 430
            iconst_0
            ireturn
        16: .line 433
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // int currentValue
        end local 1 // int currentBlock
        end local 0 // sun.text.normalizer.TrieIterator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lsun/text/normalizer/TrieIterator;
            0   17     1  currentBlock  I
            0   17     2  currentValue  I
    MethodParameters:
              Name  Flags
      currentBlock  
      currentValue  

  private final boolean checkTrailBlock(int, int);
    descriptor: (II)Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.text.normalizer.TrieIterator this
        start local 1 // int currentBlock
        start local 2 // int currentValue
         0: .line 452
            goto 6
         1: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
         2: .line 457
            aload 0 /* this */
            iload 1 /* currentBlock */
            iload 2 /* currentValue */
            invokevirtual sun.text.normalizer.TrieIterator.checkBlock:(II)Z
            ifne 4
         3: .line 458
            iconst_0
            ireturn
         4: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
            iconst_1
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
         5: .line 461
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
            iconst_1
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
         6: .line 452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
            bipush 32
            if_icmplt 1
         7: .line 463
            iconst_1
            ireturn
        end local 2 // int currentValue
        end local 1 // int currentBlock
        end local 0 // sun.text.normalizer.TrieIterator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lsun/text/normalizer/TrieIterator;
            0    8     1  currentBlock  I
            0    8     2  currentValue  I
    MethodParameters:
              Name  Flags
      currentBlock  
      currentValue  

  private final boolean checkNullNextTrailIndex();
    descriptor: ()Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // sun.text.normalizer.TrieIterator this
         0: .line 477
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
            ifgt 19
         1: .line 478
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            sipush 1023
            iadd
            putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
         2: .line 479
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
            invokestatic sun.text.normalizer.UTF16.getLeadSurrogate:(I)C
            istore 1 /* nextLead */
        start local 1 // int nextLead
         3: .line 481
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            getfield sun.text.normalizer.Trie.m_index_:[C
            iload 1 /* nextLead */
            iconst_5
            ishr
            caload
         4: .line 482
            iconst_2
         5: .line 481
            ishl
         6: .line 480
            istore 2 /* leadBlock */
        start local 2 // int leadBlock
         7: .line 483
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            getfield sun.text.normalizer.Trie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
            ifnonnull 11
         8: .line 484
            new java.lang.NullPointerException
            dup
         9: .line 485
            ldc "The field DataManipulate in this Trie is null"
        10: .line 484
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 487
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            getfield sun.text.normalizer.Trie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
        12: .line 488
            aload 0 /* this */
            getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
            iload 2 /* leadBlock */
        13: .line 489
            iload 1 /* nextLead */
            bipush 31
            iand
            iadd
        14: .line 488
            invokevirtual sun.text.normalizer.Trie.getValue:(I)I
        15: .line 487
            invokeinterface sun.text.normalizer.Trie$DataManipulate.getFoldingOffset:(I)I
            putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
        16: .line 490
            aload 0 /* this */
            dup
            getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
            iconst_1
            isub
            putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
        17: .line 491
            aload 0 /* this */
            bipush 32
            putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
        18: .line 492
            iconst_1
            ireturn
        end local 2 // int leadBlock
        end local 1 // int nextLead
        19: .line 494
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // sun.text.normalizer.TrieIterator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lsun/text/normalizer/TrieIterator;
            3   19     1   nextLead  I
            7   19     2  leadBlock  I
}
SourceFile: "TrieIterator.java"
InnerClasses:
  public Element = sun.text.normalizer.RangeValueIterator$Element of sun.text.normalizer.RangeValueIterator
  public abstract DataManipulate = sun.text.normalizer.Trie$DataManipulate of sun.text.normalizer.Trie