class sun.util.locale.provider.DictionaryBasedBreakIterator extends sun.util.locale.provider.RuleBasedBreakIterator
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.util.locale.provider.DictionaryBasedBreakIterator
  super_class: sun.util.locale.provider.RuleBasedBreakIterator
{
  private sun.util.locale.provider.BreakDictionary dictionary;
    descriptor: Lsun/util/locale/provider/BreakDictionary;
    flags: (0x0002) ACC_PRIVATE

  private boolean[] categoryFlags;
    descriptor: [Z
    flags: (0x0002) ACC_PRIVATE

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

  private int[] cachedBreakPositions;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

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

  void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
        start local 1 // java.lang.String dataFile
        start local 2 // java.lang.String dictionaryFile
         0: .line 118
            aload 0 /* this */
            aload 1 /* dataFile */
            invokespecial sun.util.locale.provider.RuleBasedBreakIterator.<init>:(Ljava/lang/String;)V
         1: .line 119
            aload 0 /* this */
            invokespecial sun.util.locale.provider.RuleBasedBreakIterator.getAdditionalData:()[B
            astore 3 /* tmp */
        start local 3 // byte[] tmp
         2: .line 120
            aload 3 /* tmp */
            ifnull 5
         3: .line 121
            aload 0 /* this */
            aload 3 /* tmp */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.prepareCategoryFlags:([B)V
         4: .line 122
            aload 0 /* this */
            aconst_null
            invokespecial sun.util.locale.provider.RuleBasedBreakIterator.setAdditionalData:([B)V
         5: .line 124
      StackMap locals: sun.util.locale.provider.DictionaryBasedBreakIterator java.lang.String java.lang.String byte[]
      StackMap stack:
            aload 0 /* this */
            new sun.util.locale.provider.BreakDictionary
            dup
            aload 2 /* dictionaryFile */
            invokespecial sun.util.locale.provider.BreakDictionary.<init>:(Ljava/lang/String;)V
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.dictionary:Lsun/util/locale/provider/BreakDictionary;
         6: .line 125
            return
        end local 3 // byte[] tmp
        end local 2 // java.lang.String dictionaryFile
        end local 1 // java.lang.String dataFile
        end local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lsun/util/locale/provider/DictionaryBasedBreakIterator;
            0    7     1        dataFile  Ljava/lang/String;
            0    7     2  dictionaryFile  Ljava/lang/String;
            2    7     3             tmp  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      dataFile        
      dictionaryFile  

  private void prepareCategoryFlags(byte[]);
    descriptor: ([B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
        start local 1 // byte[] data
         0: .line 128
            aload 0 /* this */
            aload 1 /* data */
            arraylength
            newarray 4
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.categoryFlags:[Z
         1: .line 129
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 130
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.categoryFlags:[Z
            iload 2 /* i */
            aload 1 /* data */
            iload 2 /* i */
            baload
            iconst_1
            if_icmpne 4
            iconst_1
            goto 5
      StackMap locals: sun.util.locale.provider.DictionaryBasedBreakIterator byte[] int
      StackMap stack: boolean[] int
         4: iconst_0
      StackMap locals: sun.util.locale.provider.DictionaryBasedBreakIterator byte[] int
      StackMap stack: boolean[] int int
         5: bastore
         6: .line 129
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 1 /* data */
            arraylength
            if_icmplt 3
        end local 2 // int i
         8: .line 132
            return
        end local 1 // byte[] data
        end local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/util/locale/provider/DictionaryBasedBreakIterator;
            0    9     1  data  [B
            2    8     2     i  I
    MethodParameters:
      Name  Flags
      data  

  public void setText(java.text.CharacterIterator);
    descriptor: (Ljava/text/CharacterIterator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
        start local 1 // java.text.CharacterIterator newText
         0: .line 136
            aload 0 /* this */
            aload 1 /* newText */
            invokespecial sun.util.locale.provider.RuleBasedBreakIterator.setText:(Ljava/text/CharacterIterator;)V
         1: .line 137
            aload 0 /* this */
            aconst_null
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
         2: .line 138
            aload 0 /* this */
            iconst_0
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.dictionaryCharCount:I
         3: .line 139
            aload 0 /* this */
            iconst_0
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
         4: .line 140
            return
        end local 1 // java.text.CharacterIterator newText
        end local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lsun/util/locale/provider/DictionaryBasedBreakIterator;
            0    5     1  newText  Ljava/text/CharacterIterator;
    MethodParameters:
         Name  Flags
      newText  

  public int first();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
         0: .line 149
            aload 0 /* this */
            aconst_null
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.dictionaryCharCount:I
         2: .line 151
            aload 0 /* this */
            iconst_0
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
         3: .line 152
            aload 0 /* this */
            invokespecial sun.util.locale.provider.RuleBasedBreakIterator.first:()I
            ireturn
        end local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/util/locale/provider/DictionaryBasedBreakIterator;

  public int last();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
         0: .line 162
            aload 0 /* this */
            aconst_null
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
         1: .line 163
            aload 0 /* this */
            iconst_0
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.dictionaryCharCount:I
         2: .line 164
            aload 0 /* this */
            iconst_0
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
         3: .line 165
            aload 0 /* this */
            invokespecial sun.util.locale.provider.RuleBasedBreakIterator.last:()I
            ireturn
        end local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/util/locale/provider/DictionaryBasedBreakIterator;

  public int previous();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
         0: .line 175
            aload 0 /* this */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.getText:()Ljava/text/CharacterIterator;
            astore 1 /* text */
        start local 1 // java.text.CharacterIterator text
         1: .line 179
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            ifnull 5
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            ifle 5
         2: .line 180
            aload 0 /* this */
            dup
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iconst_1
            isub
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
         3: .line 181
            aload 1 /* text */
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iaload
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            pop
         4: .line 182
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iaload
            ireturn
         5: .line 189
      StackMap locals: java.text.CharacterIterator
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
         6: .line 190
            aload 0 /* this */
            invokespecial sun.util.locale.provider.RuleBasedBreakIterator.previous:()I
            istore 2 /* result */
        start local 2 // int result
         7: .line 191
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            ifnull 9
         8: .line 192
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            arraylength
            iconst_2
            isub
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
         9: .line 194
      StackMap locals: int
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // int result
        end local 1 // java.text.CharacterIterator text
        end local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lsun/util/locale/provider/DictionaryBasedBreakIterator;
            1   10     1    text  Ljava/text/CharacterIterator;
            7   10     2  result  I

  public int preceding(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
        start local 1 // int offset
         0: .line 206
            aload 0 /* this */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.getText:()Ljava/text/CharacterIterator;
            astore 2 /* text */
        start local 2 // java.text.CharacterIterator text
         1: .line 207
            iload 1 /* offset */
            aload 2 /* text */
            invokestatic sun.util.locale.provider.DictionaryBasedBreakIterator.checkOffset:(ILjava/text/CharacterIterator;)V
         2: .line 213
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            ifnull 4
            iload 1 /* offset */
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            iconst_0
            iaload
            if_icmple 4
         3: .line 214
            iload 1 /* offset */
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            arraylength
            iconst_1
            isub
            iaload
            if_icmple 6
         4: .line 215
      StackMap locals: java.text.CharacterIterator
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
         5: .line 216
            aload 0 /* this */
            iload 1 /* offset */
            invokespecial sun.util.locale.provider.RuleBasedBreakIterator.preceding:(I)I
            ireturn
         6: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
         7: .line 224
            goto 9
         8: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iconst_1
            iadd
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
         9: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            arraylength
            if_icmpge 12
        10: .line 225
            iload 1 /* offset */
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iaload
        11: .line 224
            if_icmpgt 8
        12: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iconst_1
            isub
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
        13: .line 229
            aload 2 /* text */
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iaload
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            pop
        14: .line 230
            aload 2 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            ireturn
        end local 2 // java.text.CharacterIterator text
        end local 1 // int offset
        end local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lsun/util/locale/provider/DictionaryBasedBreakIterator;
            0   15     1  offset  I
            1   15     2    text  Ljava/text/CharacterIterator;
    MethodParameters:
        Name  Flags
      offset  

  public int following(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
        start local 1 // int offset
         0: .line 242
            aload 0 /* this */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.getText:()Ljava/text/CharacterIterator;
            astore 2 /* text */
        start local 2 // java.text.CharacterIterator text
         1: .line 243
            iload 1 /* offset */
            aload 2 /* text */
            invokestatic sun.util.locale.provider.DictionaryBasedBreakIterator.checkOffset:(ILjava/text/CharacterIterator;)V
         2: .line 249
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            ifnull 4
            iload 1 /* offset */
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            iconst_0
            iaload
            if_icmplt 4
         3: .line 250
            iload 1 /* offset */
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            arraylength
            iconst_1
            isub
            iaload
            if_icmplt 6
         4: .line 251
      StackMap locals: java.text.CharacterIterator
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
         5: .line 252
            aload 0 /* this */
            iload 1 /* offset */
            invokespecial sun.util.locale.provider.RuleBasedBreakIterator.following:(I)I
            ireturn
         6: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
         7: .line 260
            goto 9
         8: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iconst_1
            iadd
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
         9: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            arraylength
            if_icmpge 12
        10: .line 261
            iload 1 /* offset */
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iaload
        11: .line 260
            if_icmpge 8
        12: .line 264
      StackMap locals:
      StackMap stack:
            aload 2 /* text */
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iaload
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            pop
        13: .line 265
            aload 2 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            ireturn
        end local 2 // java.text.CharacterIterator text
        end local 1 // int offset
        end local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lsun/util/locale/provider/DictionaryBasedBreakIterator;
            0   14     1  offset  I
            1   14     2    text  Ljava/text/CharacterIterator;
    MethodParameters:
        Name  Flags
      offset  

  protected int handleNext();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
         0: .line 274
            aload 0 /* this */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.getText:()Ljava/text/CharacterIterator;
            astore 1 /* text */
        start local 1 // java.text.CharacterIterator text
         1: .line 279
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            ifnull 3
         2: .line 280
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            arraylength
            iconst_1
            isub
            if_icmpne 11
         3: .line 285
      StackMap locals: java.text.CharacterIterator
      StackMap stack:
            aload 1 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            istore 2 /* startPos */
        start local 2 // int startPos
         4: .line 286
            aload 0 /* this */
            iconst_0
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.dictionaryCharCount:I
         5: .line 287
            aload 0 /* this */
            invokespecial sun.util.locale.provider.RuleBasedBreakIterator.handleNext:()I
            istore 3 /* result */
        start local 3 // int result
         6: .line 292
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.dictionaryCharCount:I
            iconst_1
            if_icmple 9
            iload 3 /* result */
            iload 2 /* startPos */
            isub
            iconst_1
            if_icmple 9
         7: .line 293
            aload 0 /* this */
            iload 2 /* startPos */
            iload 3 /* result */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.divideUpDictionaryRange:(II)V
         8: .line 294
            goto 11
         9: .line 299
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
        10: .line 300
            iload 3 /* result */
            ireturn
        end local 3 // int result
        end local 2 // int startPos
        11: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            ifnull 15
        12: .line 308
            aload 0 /* this */
            dup
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iconst_1
            iadd
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
        13: .line 309
            aload 1 /* text */
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iaload
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            pop
        14: .line 310
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
            iaload
            ireturn
        15: .line 312
      StackMap locals:
      StackMap stack:
            sipush -9999
            ireturn
        end local 1 // java.text.CharacterIterator text
        end local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lsun/util/locale/provider/DictionaryBasedBreakIterator;
            1   16     1      text  Ljava/text/CharacterIterator;
            4   11     2  startPos  I
            6   11     3    result  I

  protected int lookupCategory(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
        start local 1 // int c
         0: .line 325
            aload 0 /* this */
            iload 1 /* c */
            invokespecial sun.util.locale.provider.RuleBasedBreakIterator.lookupCategory:(I)I
            istore 2 /* result */
        start local 2 // int result
         1: .line 326
            iload 2 /* result */
            iconst_m1
            if_icmpeq 3
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.categoryFlags:[Z
            iload 2 /* result */
            baload
            ifeq 3
         2: .line 327
            aload 0 /* this */
            dup
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.dictionaryCharCount:I
            iconst_1
            iadd
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.dictionaryCharCount:I
         3: .line 329
      StackMap locals: int
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // int result
        end local 1 // int c
        end local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/util/locale/provider/DictionaryBasedBreakIterator;
            0    4     1       c  I
            1    4     2  result  I
    MethodParameters:
      Name  Flags
      c     

  private void divideUpDictionaryRange(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=3
        start local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
        start local 1 // int startPos
        start local 2 // int endPos
         0: .line 342
            aload 0 /* this */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.getText:()Ljava/text/CharacterIterator;
            astore 3 /* text */
        start local 3 // java.text.CharacterIterator text
         1: .line 348
            aload 3 /* text */
            iload 1 /* startPos */
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            pop
         2: .line 349
            aload 0 /* this */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.getCurrent:()I
            istore 4 /* c */
        start local 4 // int c
         3: .line 350
            aload 0 /* this */
            iload 4 /* c */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.lookupCategory:(I)I
            istore 5 /* category */
        start local 5 // int category
         4: .line 351
            goto 7
         5: .line 352
      StackMap locals: java.text.CharacterIterator int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.getNext:()I
            istore 4 /* c */
         6: .line 353
            aload 0 /* this */
            iload 4 /* c */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.lookupCategory:(I)I
            istore 5 /* category */
         7: .line 351
      StackMap locals:
      StackMap stack:
            iload 5 /* category */
            iconst_m1
            if_icmpeq 5
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.categoryFlags:[Z
            iload 5 /* category */
            baload
            ifeq 5
         8: .line 367
            new java.util.Stack
            dup
            invokespecial java.util.Stack.<init>:()V
            astore 6 /* currentBreakPositions */
        start local 6 // java.util.Stack currentBreakPositions
         9: .line 368
            new java.util.Stack
            dup
            invokespecial java.util.Stack.<init>:()V
            astore 7 /* possibleBreakPositions */
        start local 7 // java.util.Stack possibleBreakPositions
        10: .line 369
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* wrongBreakPositions */
        start local 8 // java.util.List wrongBreakPositions
        11: .line 375
            iconst_0
            istore 9 /* state */
        start local 9 // int state
        12: .line 384
            aload 3 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            istore 10 /* farthestEndPoint */
        start local 10 // int farthestEndPoint
        13: .line 385
            aconst_null
            astore 11 /* bestBreakPositions */
        start local 11 // java.util.Stack bestBreakPositions
        14: .line 388
            aload 0 /* this */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.getCurrent:()I
            istore 4 /* c */
        15: .line 394
      StackMap locals: sun.util.locale.provider.DictionaryBasedBreakIterator int int java.text.CharacterIterator int int java.util.Stack java.util.Stack java.util.List int int java.util.Stack
      StackMap stack:
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.dictionary:Lsun/util/locale/provider/BreakDictionary;
            iload 9 /* state */
            iconst_0
            invokevirtual sun.util.locale.provider.BreakDictionary.getNextState:(II)S
            iconst_m1
            if_icmpne 17
        16: .line 395
            aload 7 /* possibleBreakPositions */
            aload 3 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.dictionary:Lsun/util/locale/provider/BreakDictionary;
            iload 9 /* state */
            iload 4 /* c */
            invokevirtual sun.util.locale.provider.BreakDictionary.getNextStateFromCharacter:(II)S
            istore 9 /* state */
        18: .line 405
            iload 9 /* state */
            iconst_m1
            if_icmpne 21
        19: .line 406
            aload 6 /* currentBreakPositions */
            aload 3 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 407
            goto 58
        21: .line 414
      StackMap locals:
      StackMap stack:
            iload 9 /* state */
            ifeq 22
            aload 3 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            iload 2 /* endPos */
            if_icmplt 56
        22: .line 418
      StackMap locals:
      StackMap stack:
            aload 3 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            iload 10 /* farthestEndPoint */
            if_icmple 28
        23: .line 419
            aload 3 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            istore 10 /* farthestEndPoint */
        24: .line 422
            aload 6 /* currentBreakPositions */
            invokevirtual java.util.Stack.clone:()Ljava/lang/Object;
            checkcast java.util.Stack
            astore 12 /* currentBreakPositionsCopy */
        start local 12 // java.util.Stack currentBreakPositionsCopy
        25: .line 424
            aload 12 /* currentBreakPositionsCopy */
            astore 11 /* bestBreakPositions */
        end local 12 // java.util.Stack currentBreakPositionsCopy
        26: .line 440
            goto 28
        27: .line 442
      StackMap locals:
      StackMap stack:
            aload 7 /* possibleBreakPositions */
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
        28: .line 440
      StackMap locals:
      StackMap stack:
            aload 7 /* possibleBreakPositions */
            invokevirtual java.util.Stack.isEmpty:()Z
            ifne 30
        29: .line 441
            aload 8 /* wrongBreakPositions */
            aload 7 /* possibleBreakPositions */
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 27
        30: .line 450
      StackMap locals:
      StackMap stack:
            aload 7 /* possibleBreakPositions */
            invokevirtual java.util.Stack.isEmpty:()Z
            ifeq 43
        31: .line 451
            aload 11 /* bestBreakPositions */
            ifnull 36
        32: .line 452
            aload 11 /* bestBreakPositions */
            astore 6 /* currentBreakPositions */
        33: .line 453
            iload 10 /* farthestEndPoint */
            iload 2 /* endPos */
            if_icmpge 58
        34: .line 454
            aload 3 /* text */
            iload 10 /* farthestEndPoint */
            iconst_1
            iadd
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            pop
        35: .line 459
            goto 53
        36: .line 461
      StackMap locals:
      StackMap stack:
            aload 6 /* currentBreakPositions */
            invokevirtual java.util.Stack.size:()I
            ifeq 38
        37: .line 462
            aload 6 /* currentBreakPositions */
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 3 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            if_icmpeq 40
        38: .line 463
      StackMap locals:
      StackMap stack:
            aload 3 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            iload 1 /* startPos */
            if_icmpeq 40
        39: .line 464
            aload 6 /* currentBreakPositions */
            new java.lang.Integer
            dup
            aload 3 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        40: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.getNext:()I
            pop
        41: .line 467
            aload 6 /* currentBreakPositions */
            new java.lang.Integer
            dup
            aload 3 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        42: .line 469
            goto 53
        43: .line 477
      StackMap locals:
      StackMap stack:
            aload 7 /* possibleBreakPositions */
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 12 /* temp */
        start local 12 // java.lang.Integer temp
        44: .line 478
            aconst_null
            astore 13 /* temp2 */
        start local 13 // java.lang.Integer temp2
        45: .line 479
            goto 48
        46: .line 481
      StackMap locals: java.lang.Integer java.lang.Integer
      StackMap stack:
            aload 6 /* currentBreakPositions */
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 13 /* temp2 */
        47: .line 482
            aload 8 /* wrongBreakPositions */
            aload 13 /* temp2 */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        48: .line 479
      StackMap locals:
      StackMap stack:
            aload 6 /* currentBreakPositions */
            invokevirtual java.util.Stack.isEmpty:()Z
            ifne 51
            aload 12 /* temp */
            invokevirtual java.lang.Integer.intValue:()I
        49: .line 480
            aload 6 /* currentBreakPositions */
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
        50: .line 479
            if_icmplt 46
        51: .line 484
      StackMap locals:
      StackMap stack:
            aload 6 /* currentBreakPositions */
            aload 12 /* temp */
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        52: .line 485
            aload 3 /* text */
            aload 6 /* currentBreakPositions */
            invokevirtual java.util.Stack.peek:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface java.text.CharacterIterator.setIndex:(I)C
            pop
        end local 13 // java.lang.Integer temp2
        end local 12 // java.lang.Integer temp
        53: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.getCurrent:()I
            istore 4 /* c */
        54: .line 491
            aload 3 /* text */
            invokeinterface java.text.CharacterIterator.getIndex:()I
            iload 2 /* endPos */
            if_icmplt 15
        55: .line 492
            goto 58
        56: .line 499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.util.locale.provider.DictionaryBasedBreakIterator.getNext:()I
            istore 4 /* c */
        57: .line 389
            goto 15
        58: .line 507
      StackMap locals:
      StackMap stack:
            aload 6 /* currentBreakPositions */
            invokevirtual java.util.Stack.isEmpty:()Z
            ifne 60
        59: .line 508
            aload 6 /* currentBreakPositions */
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
        60: .line 510
      StackMap locals:
      StackMap stack:
            aload 6 /* currentBreakPositions */
            iload 2 /* endPos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        61: .line 517
            aload 0 /* this */
            aload 6 /* currentBreakPositions */
            invokevirtual java.util.Stack.size:()I
            iconst_1
            iadd
            newarray 10
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
        62: .line 518
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            iconst_0
            iload 1 /* startPos */
            iastore
        63: .line 520
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        64: goto 67
        65: .line 521
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.util.locale.provider.DictionaryBasedBreakIterator.cachedBreakPositions:[I
            iload 12 /* i */
            iconst_1
            iadd
            aload 6 /* currentBreakPositions */
            iload 12 /* i */
            invokevirtual java.util.Stack.elementAt:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        66: .line 520
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        67: iload 12 /* i */
            aload 6 /* currentBreakPositions */
            invokevirtual java.util.Stack.size:()I
            if_icmplt 65
        end local 12 // int i
        68: .line 523
            aload 0 /* this */
            iconst_0
            putfield sun.util.locale.provider.DictionaryBasedBreakIterator.positionInCache:I
        69: .line 524
            return
        end local 11 // java.util.Stack bestBreakPositions
        end local 10 // int farthestEndPoint
        end local 9 // int state
        end local 8 // java.util.List wrongBreakPositions
        end local 7 // java.util.Stack possibleBreakPositions
        end local 6 // java.util.Stack currentBreakPositions
        end local 5 // int category
        end local 4 // int c
        end local 3 // java.text.CharacterIterator text
        end local 2 // int endPos
        end local 1 // int startPos
        end local 0 // sun.util.locale.provider.DictionaryBasedBreakIterator this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   70     0                       this  Lsun/util/locale/provider/DictionaryBasedBreakIterator;
            0   70     1                   startPos  I
            0   70     2                     endPos  I
            1   70     3                       text  Ljava/text/CharacterIterator;
            3   70     4                          c  I
            4   70     5                   category  I
            9   70     6      currentBreakPositions  Ljava/util/Stack<Ljava/lang/Integer;>;
           10   70     7     possibleBreakPositions  Ljava/util/Stack<Ljava/lang/Integer;>;
           11   70     8        wrongBreakPositions  Ljava/util/List<Ljava/lang/Integer;>;
           12   70     9                      state  I
           13   70    10           farthestEndPoint  I
           14   70    11         bestBreakPositions  Ljava/util/Stack<Ljava/lang/Integer;>;
           25   26    12  currentBreakPositionsCopy  Ljava/util/Stack<Ljava/lang/Integer;>;
           44   53    12                       temp  Ljava/lang/Integer;
           45   53    13                      temp2  Ljava/lang/Integer;
           64   68    12                          i  I
    MethodParameters:
          Name  Flags
      startPos  
      endPos    
}
SourceFile: "DictionaryBasedBreakIterator.java"