public class java.text.MessageFormat extends java.text.Format
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.text.MessageFormat
  super_class: java.text.Format
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6479157306784022952

  private java.util.Locale locale;
    descriptor: Ljava/util/Locale;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String pattern;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  private java.text.Format[] formats;
    descriptor: [Ljava/text/Format;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

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

  private static final java.lang.String[] TYPE_KEYWORDS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

  private static final java.lang.String[] NUMBER_MODIFIER_KEYWORDS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

  private static final java.lang.String[] DATE_TIME_MODIFIER_KEYWORDS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] DATE_TIME_MODIFIERS;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 1393
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 1394
            ldc ""
            aastore
            dup
            iconst_1
         2: .line 1395
            ldc "number"
            aastore
            dup
            iconst_2
         3: .line 1396
            ldc "date"
            aastore
            dup
            iconst_3
         4: .line 1397
            ldc "time"
            aastore
            dup
            iconst_4
         5: .line 1398
            ldc "choice"
            aastore
         6: .line 1393
            putstatic java.text.MessageFormat.TYPE_KEYWORDS:[Ljava/lang/String;
         7: .line 1407
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
         8: .line 1408
            ldc ""
            aastore
            dup
            iconst_1
         9: .line 1409
            ldc "currency"
            aastore
            dup
            iconst_2
        10: .line 1410
            ldc "percent"
            aastore
            dup
            iconst_3
        11: .line 1411
            ldc "integer"
            aastore
        12: .line 1407
            putstatic java.text.MessageFormat.NUMBER_MODIFIER_KEYWORDS:[Ljava/lang/String;
        13: .line 1420
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
        14: .line 1421
            ldc ""
            aastore
            dup
            iconst_1
        15: .line 1422
            ldc "short"
            aastore
            dup
            iconst_2
        16: .line 1423
            ldc "medium"
            aastore
            dup
            iconst_3
        17: .line 1424
            ldc "long"
            aastore
            dup
            iconst_4
        18: .line 1425
            ldc "full"
            aastore
        19: .line 1420
            putstatic java.text.MessageFormat.DATE_TIME_MODIFIER_KEYWORDS:[Ljava/lang/String;
        20: .line 1429
            iconst_5
            newarray 10
            dup
            iconst_0
        21: .line 1430
            iconst_2
            iastore
            dup
            iconst_1
        22: .line 1431
            iconst_3
            iastore
            dup
            iconst_2
        23: .line 1432
            iconst_2
            iastore
            dup
            iconst_3
        24: .line 1433
            iconst_1
            iastore
        25: .line 1429
            putstatic java.text.MessageFormat.DATE_TIME_MODIFIERS:[I
        26: .line 1435
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.String pattern
         0: .line 368
            aload 0 /* this */
            invokespecial java.text.Format.<init>:()V
         1: .line 1210
            aload 0 /* this */
            ldc ""
            putfield java.text.MessageFormat.pattern:Ljava/lang/String;
         2: .line 1219
            aload 0 /* this */
            bipush 10
            anewarray java.text.Format
            putfield java.text.MessageFormat.formats:[Ljava/text/Format;
         3: .line 1226
            aload 0 /* this */
            bipush 10
            newarray 10
            putfield java.text.MessageFormat.offsets:[I
         4: .line 1234
            aload 0 /* this */
            bipush 10
            newarray 10
            putfield java.text.MessageFormat.argumentNumbers:[I
         5: .line 1243
            aload 0 /* this */
            iconst_m1
            putfield java.text.MessageFormat.maxOffset:I
         6: .line 369
            aload 0 /* this */
            getstatic java.util.Locale$Category.FORMAT:Ljava/util/Locale$Category;
            invokestatic java.util.Locale.getDefault:(Ljava/util/Locale$Category;)Ljava/util/Locale;
            putfield java.text.MessageFormat.locale:Ljava/util/Locale;
         7: .line 370
            aload 0 /* this */
            aload 1 /* pattern */
            invokevirtual java.text.MessageFormat.applyPattern:(Ljava/lang/String;)V
         8: .line 371
            return
        end local 1 // java.lang.String pattern
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Ljava/text/MessageFormat;
            0    9     1  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  

  public void <init>(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.String pattern
        start local 2 // java.util.Locale locale
         0: .line 388
            aload 0 /* this */
            invokespecial java.text.Format.<init>:()V
         1: .line 1210
            aload 0 /* this */
            ldc ""
            putfield java.text.MessageFormat.pattern:Ljava/lang/String;
         2: .line 1219
            aload 0 /* this */
            bipush 10
            anewarray java.text.Format
            putfield java.text.MessageFormat.formats:[Ljava/text/Format;
         3: .line 1226
            aload 0 /* this */
            bipush 10
            newarray 10
            putfield java.text.MessageFormat.offsets:[I
         4: .line 1234
            aload 0 /* this */
            bipush 10
            newarray 10
            putfield java.text.MessageFormat.argumentNumbers:[I
         5: .line 1243
            aload 0 /* this */
            iconst_m1
            putfield java.text.MessageFormat.maxOffset:I
         6: .line 389
            aload 0 /* this */
            aload 2 /* locale */
            putfield java.text.MessageFormat.locale:Ljava/util/Locale;
         7: .line 390
            aload 0 /* this */
            aload 1 /* pattern */
            invokevirtual java.text.MessageFormat.applyPattern:(Ljava/lang/String;)V
         8: .line 391
            return
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String pattern
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Ljava/text/MessageFormat;
            0    9     1  pattern  Ljava/lang/String;
            0    9     2   locale  Ljava/util/Locale;
    MethodParameters:
         Name  Flags
      pattern  
      locale   

  public void setLocale(java.util.Locale);
    descriptor: (Ljava/util/Locale;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.text.MessageFormat this
        start local 1 // java.util.Locale locale
         0: .line 411
            aload 0 /* this */
            aload 1 /* locale */
            putfield java.text.MessageFormat.locale:Ljava/util/Locale;
         1: .line 412
            return
        end local 1 // java.util.Locale locale
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/text/MessageFormat;
            0    2     1  locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      locale  

  public java.util.Locale getLocale();
    descriptor: ()Ljava/util/Locale;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.text.MessageFormat this
         0: .line 420
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            areturn
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/text/MessageFormat;

  public void applyPattern(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.String pattern
         0: .line 438
            iconst_4
            anewarray java.lang.StringBuilder
            astore 2 /* segments */
        start local 2 // java.lang.StringBuilder[] segments
         1: .line 441
            aload 2 /* segments */
            iconst_0
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aastore
         2: .line 443
            iconst_0
            istore 3 /* part */
        start local 3 // int part
         3: .line 444
            iconst_0
            istore 4 /* formatNumber */
        start local 4 // int formatNumber
         4: .line 445
            iconst_0
            istore 5 /* inQuote */
        start local 5 // boolean inQuote
         5: .line 446
            iconst_0
            istore 6 /* braceStack */
        start local 6 // int braceStack
         6: .line 447
            aload 0 /* this */
            iconst_m1
            putfield java.text.MessageFormat.maxOffset:I
         7: .line 448
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 60
         9: .line 449
      StackMap locals: java.text.MessageFormat java.lang.String java.lang.StringBuilder[] int int int int int
      StackMap stack:
            aload 1 /* pattern */
            iload 7 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* ch */
        start local 8 // char ch
        10: .line 450
            iload 3 /* part */
            ifne 28
        11: .line 451
            iload 8 /* ch */
            bipush 39
            if_icmpne 21
        12: .line 452
            iload 7 /* i */
            iconst_1
            iadd
            aload 1 /* pattern */
            invokevirtual java.lang.String.length:()I
            if_icmpge 17
        13: .line 453
            aload 1 /* pattern */
            iload 7 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 39
            if_icmpne 17
        14: .line 454
            aload 2 /* segments */
            iload 3 /* part */
            aaload
            iload 8 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 455
            iinc 7 /* i */ 1
        16: .line 456
            goto 59
        17: .line 457
      StackMap locals: int
      StackMap stack:
            iload 5 /* inQuote */
            ifeq 18
            iconst_0
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_1
      StackMap locals:
      StackMap stack: int
        19: istore 5 /* inQuote */
        20: .line 459
            goto 59
      StackMap locals:
      StackMap stack:
        21: iload 8 /* ch */
            bipush 123
            if_icmpne 26
            iload 5 /* inQuote */
            ifne 26
        22: .line 460
            iconst_1
            istore 3 /* part */
        23: .line 461
            aload 2 /* segments */
            iconst_1
            aaload
            ifnonnull 59
        24: .line 462
            aload 2 /* segments */
            iconst_1
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aastore
        25: .line 464
            goto 59
        26: .line 465
      StackMap locals:
      StackMap stack:
            aload 2 /* segments */
            iload 3 /* part */
            aaload
            iload 8 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 467
            goto 59
        28: .line 468
      StackMap locals:
      StackMap stack:
            iload 5 /* inQuote */
            ifeq 33
        29: .line 469
            aload 2 /* segments */
            iload 3 /* part */
            aaload
            iload 8 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        30: .line 470
            iload 8 /* ch */
            bipush 39
            if_icmpne 59
        31: .line 471
            iconst_0
            istore 5 /* inQuote */
        32: .line 473
            goto 59
        33: .line 474
      StackMap locals:
      StackMap stack:
            iload 8 /* ch */
            lookupswitch { // 5
                   32: 54
                   39: 57
                   44: 34
                  123: 40
                  125: 43
              default: 58
          }
        34: .line 476
      StackMap locals:
      StackMap stack:
            iload 3 /* part */
            iconst_3
            if_icmpge 38
        35: .line 477
            aload 2 /* segments */
            iinc 3 /* part */ 1
            iload 3 /* part */
            aaload
            ifnonnull 59
        36: .line 478
            aload 2 /* segments */
            iload 3 /* part */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aastore
        37: .line 480
            goto 59
        38: .line 481
      StackMap locals:
      StackMap stack:
            aload 2 /* segments */
            iload 3 /* part */
            aaload
            iload 8 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        39: .line 483
            goto 59
        40: .line 485
      StackMap locals:
      StackMap stack:
            iinc 6 /* braceStack */ 1
        41: .line 486
            aload 2 /* segments */
            iload 3 /* part */
            aaload
            iload 8 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        42: .line 487
            goto 59
        43: .line 489
      StackMap locals:
      StackMap stack:
            iload 6 /* braceStack */
            ifne 51
        44: .line 490
            iconst_0
            istore 3 /* part */
        45: .line 491
            aload 0 /* this */
            iload 7 /* i */
            iload 4 /* formatNumber */
            aload 2 /* segments */
            invokevirtual java.text.MessageFormat.makeFormat:(II[Ljava/lang/StringBuilder;)V
        46: .line 492
            iinc 4 /* formatNumber */ 1
        47: .line 494
            aload 2 /* segments */
            iconst_1
            aconst_null
            aastore
        48: .line 495
            aload 2 /* segments */
            iconst_2
            aconst_null
            aastore
        49: .line 496
            aload 2 /* segments */
            iconst_3
            aconst_null
            aastore
        50: .line 497
            goto 59
        51: .line 498
      StackMap locals:
      StackMap stack:
            iinc 6 /* braceStack */ -1
        52: .line 499
            aload 2 /* segments */
            iload 3 /* part */
            aaload
            iload 8 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        53: .line 501
            goto 59
        54: .line 504
      StackMap locals:
      StackMap stack:
            iload 3 /* part */
            iconst_2
            if_icmpne 55
            aload 2 /* segments */
            iconst_2
            aaload
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 59
        55: .line 505
      StackMap locals:
      StackMap stack:
            aload 2 /* segments */
            iload 3 /* part */
            aaload
            iload 8 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        56: .line 507
            goto 59
        57: .line 509
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* inQuote */
        58: .line 512
      StackMap locals:
      StackMap stack:
            aload 2 /* segments */
            iload 3 /* part */
            aaload
            iload 8 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 8 // char ch
        59: .line 448
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 7 /* i */
            aload 1 /* pattern */
            invokevirtual java.lang.String.length:()I
            if_icmplt 9
        end local 7 // int i
        61: .line 518
            iload 6 /* braceStack */
            ifne 64
            iload 3 /* part */
            ifeq 64
        62: .line 519
            aload 0 /* this */
            iconst_m1
            putfield java.text.MessageFormat.maxOffset:I
        63: .line 520
            new java.lang.IllegalArgumentException
            dup
            ldc "Unmatched braces in the pattern."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        64: .line 522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* segments */
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield java.text.MessageFormat.pattern:Ljava/lang/String;
        65: .line 523
            return
        end local 6 // int braceStack
        end local 5 // boolean inQuote
        end local 4 // int formatNumber
        end local 3 // int part
        end local 2 // java.lang.StringBuilder[] segments
        end local 1 // java.lang.String pattern
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   66     0          this  Ljava/text/MessageFormat;
            0   66     1       pattern  Ljava/lang/String;
            1   66     2      segments  [Ljava/lang/StringBuilder;
            3   66     3          part  I
            4   66     4  formatNumber  I
            5   66     5       inQuote  Z
            6   66     6    braceStack  I
            8   61     7             i  I
           10   59     8            ch  C
    MethodParameters:
         Name  Flags
      pattern  

  public java.lang.String toPattern();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.text.MessageFormat this
         0: .line 535
            iconst_0
            istore 1 /* lastOffset */
        start local 1 // int lastOffset
         1: .line 536
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* result */
        start local 2 // java.lang.StringBuilder result
         2: .line 537
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 53
         4: .line 538
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            iload 1 /* lastOffset */
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            iload 3 /* i */
            iaload
            aload 2 /* result */
            invokestatic java.text.MessageFormat.copyAndFixQuotes:(Ljava/lang/String;IILjava/lang/StringBuilder;)V
         5: .line 539
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            iload 3 /* i */
            iaload
            istore 1 /* lastOffset */
         6: .line 540
            aload 2 /* result */
            bipush 123
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 3 /* i */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         7: .line 541
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 3 /* i */
            aaload
            astore 4 /* fmt */
        start local 4 // java.text.Format fmt
         8: .line 542
            aload 4 /* fmt */
            ifnull 51
         9: .line 544
            aload 4 /* fmt */
            instanceof java.text.NumberFormat
            ifeq 28
        10: .line 545
            aload 4 /* fmt */
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokestatic java.text.NumberFormat.getInstance:(Ljava/util/Locale;)Ljava/text/NumberFormat;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 546
            aload 2 /* result */
            ldc ",number"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 547
            goto 51
      StackMap locals: java.text.Format
      StackMap stack:
        13: aload 4 /* fmt */
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokestatic java.text.NumberFormat.getCurrencyInstance:(Ljava/util/Locale;)Ljava/text/NumberFormat;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 548
            aload 2 /* result */
            ldc ",number,currency"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 549
            goto 51
      StackMap locals:
      StackMap stack:
        16: aload 4 /* fmt */
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokestatic java.text.NumberFormat.getPercentInstance:(Ljava/util/Locale;)Ljava/text/NumberFormat;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 550
            aload 2 /* result */
            ldc ",number,percent"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 551
            goto 51
      StackMap locals:
      StackMap stack:
        19: aload 4 /* fmt */
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokestatic java.text.NumberFormat.getIntegerInstance:(Ljava/util/Locale;)Ljava/text/NumberFormat;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 552
            aload 2 /* result */
            ldc ",number,integer"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 553
            goto 51
        22: .line 554
      StackMap locals:
      StackMap stack:
            aload 4 /* fmt */
            instanceof java.text.DecimalFormat
            ifeq 25
        23: .line 555
            aload 2 /* result */
            ldc ",number,"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* fmt */
            checkcast java.text.DecimalFormat
            invokevirtual java.text.DecimalFormat.toPattern:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 556
            goto 51
      StackMap locals:
      StackMap stack:
        25: aload 4 /* fmt */
            instanceof java.text.ChoiceFormat
            ifeq 51
        26: .line 557
            aload 2 /* result */
            ldc ",choice,"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* fmt */
            checkcast java.text.ChoiceFormat
            invokevirtual java.text.ChoiceFormat.toPattern:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 562
            goto 51
      StackMap locals:
      StackMap stack:
        28: aload 4 /* fmt */
            instanceof java.text.DateFormat
            ifeq 51
        29: .line 564
            iconst_0
            istore 5 /* index */
        start local 5 // int index
        30: goto 44
        31: .line 565
      StackMap locals: int
      StackMap stack:
            getstatic java.text.MessageFormat.DATE_TIME_MODIFIERS:[I
            iload 5 /* index */
            iaload
        32: .line 566
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
        33: .line 565
            invokestatic java.text.DateFormat.getDateInstance:(ILjava/util/Locale;)Ljava/text/DateFormat;
            astore 6 /* df */
        start local 6 // java.text.DateFormat df
        34: .line 567
            aload 4 /* fmt */
            aload 6 /* df */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 37
        35: .line 568
            aload 2 /* result */
            ldc ",date"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 569
            goto 45
        37: .line 571
      StackMap locals: java.text.DateFormat
      StackMap stack:
            getstatic java.text.MessageFormat.DATE_TIME_MODIFIERS:[I
            iload 5 /* index */
            iaload
        38: .line 572
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
        39: .line 571
            invokestatic java.text.DateFormat.getTimeInstance:(ILjava/util/Locale;)Ljava/text/DateFormat;
            astore 6 /* df */
        40: .line 573
            aload 4 /* fmt */
            aload 6 /* df */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 43
        41: .line 574
            aload 2 /* result */
            ldc ",time"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        42: .line 575
            goto 45
        end local 6 // java.text.DateFormat df
        43: .line 564
      StackMap locals:
      StackMap stack:
            iinc 5 /* index */ 1
      StackMap locals:
      StackMap stack:
        44: iload 5 /* index */
            getstatic java.text.MessageFormat.DATE_TIME_MODIFIERS:[I
            arraylength
            if_icmplt 31
        45: .line 578
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            getstatic java.text.MessageFormat.DATE_TIME_MODIFIERS:[I
            arraylength
            if_icmplt 49
        46: .line 579
            aload 4 /* fmt */
            instanceof java.text.SimpleDateFormat
            ifeq 51
        47: .line 580
            aload 2 /* result */
            ldc ",date,"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* fmt */
            checkcast java.text.SimpleDateFormat
            invokevirtual java.text.SimpleDateFormat.toPattern:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        48: .line 584
            goto 51
      StackMap locals:
      StackMap stack:
        49: iload 5 /* index */
            ifeq 51
        50: .line 585
            aload 2 /* result */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            getstatic java.text.MessageFormat.DATE_TIME_MODIFIER_KEYWORDS:[Ljava/lang/String;
            iload 5 /* index */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // int index
        51: .line 590
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.text.Format fmt
        52: .line 537
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        53: iload 3 /* i */
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmple 4
        end local 3 // int i
        54: .line 592
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            iload 1 /* lastOffset */
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            aload 2 /* result */
            invokestatic java.text.MessageFormat.copyAndFixQuotes:(Ljava/lang/String;IILjava/lang/StringBuilder;)V
        55: .line 593
            aload 2 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder result
        end local 1 // int lastOffset
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   56     0        this  Ljava/text/MessageFormat;
            1   56     1  lastOffset  I
            2   56     2      result  Ljava/lang/StringBuilder;
            3   54     3           i  I
            8   52     4         fmt  Ljava/text/Format;
           30   51     5       index  I
           34   43     6          df  Ljava/text/DateFormat;

  public void setFormatsByArgumentIndex(java.text.Format[]);
    descriptor: ([Ljava/text/Format;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.text.MessageFormat this
        start local 1 // java.text.Format[] newFormats
         0: .line 620
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 6
         2: .line 621
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 2 /* i */
            iaload
            istore 3 /* j */
        start local 3 // int j
         3: .line 622
            iload 3 /* j */
            aload 1 /* newFormats */
            arraylength
            if_icmpge 5
         4: .line 623
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 2 /* i */
            aload 1 /* newFormats */
            iload 3 /* j */
            aaload
            aastore
        end local 3 // int j
         5: .line 620
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmple 2
        end local 2 // int i
         7: .line 626
            return
        end local 1 // java.text.Format[] newFormats
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Ljava/text/MessageFormat;
            0    8     1  newFormats  [Ljava/text/Format;
            1    7     2           i  I
            3    5     3           j  I
    MethodParameters:
            Name  Flags
      newFormats  

  public void setFormats(java.text.Format[]);
    descriptor: ([Ljava/text/Format;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.text.MessageFormat this
        start local 1 // java.text.Format[] newFormats
         0: .line 651
            aload 1 /* newFormats */
            arraylength
            istore 2 /* runsToCopy */
        start local 2 // int runsToCopy
         1: .line 652
            iload 2 /* runsToCopy */
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            iconst_1
            iadd
            if_icmple 3
         2: .line 653
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            iconst_1
            iadd
            istore 2 /* runsToCopy */
         3: .line 655
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 656
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 3 /* i */
            aload 1 /* newFormats */
            iload 3 /* i */
            aaload
            aastore
         6: .line 655
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* runsToCopy */
            if_icmplt 5
        end local 3 // int i
         8: .line 658
            return
        end local 2 // int runsToCopy
        end local 1 // java.text.Format[] newFormats
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Ljava/text/MessageFormat;
            0    9     1  newFormats  [Ljava/text/Format;
            1    9     2  runsToCopy  I
            4    8     3           i  I
    MethodParameters:
            Name  Flags
      newFormats  

  public void setFormatByArgumentIndex(int, java.text.Format);
    descriptor: (ILjava/text/Format;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.text.MessageFormat this
        start local 1 // int argumentIndex
        start local 2 // java.text.Format newFormat
         0: .line 679
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         1: goto 5
         2: .line 680
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 3 /* j */
            iaload
            iload 1 /* argumentIndex */
            if_icmpne 4
         3: .line 681
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 3 /* j */
            aload 2 /* newFormat */
            aastore
         4: .line 679
      StackMap locals:
      StackMap stack:
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* j */
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmple 2
        end local 3 // int j
         6: .line 684
            return
        end local 2 // java.text.Format newFormat
        end local 1 // int argumentIndex
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljava/text/MessageFormat;
            0    7     1  argumentIndex  I
            0    7     2      newFormat  Ljava/text/Format;
            1    6     3              j  I
    MethodParameters:
               Name  Flags
      argumentIndex  
      newFormat      

  public void setFormat(int, java.text.Format);
    descriptor: (ILjava/text/Format;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.text.MessageFormat this
        start local 1 // int formatElementIndex
        start local 2 // java.text.Format newFormat
         0: .line 705
            iload 1 /* formatElementIndex */
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmple 2
         1: .line 706
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            iload 1 /* formatElementIndex */
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
            athrow
         2: .line 708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 1 /* formatElementIndex */
            aload 2 /* newFormat */
            aastore
         3: .line 709
            return
        end local 2 // java.text.Format newFormat
        end local 1 // int formatElementIndex
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Ljava/text/MessageFormat;
            0    4     1  formatElementIndex  I
            0    4     2           newFormat  Ljava/text/Format;
    MethodParameters:
                    Name  Flags
      formatElementIndex  
      newFormat           

  public java.text.Format[] getFormatsByArgumentIndex();
    descriptor: ()[Ljava/text/Format;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.text.MessageFormat this
         0: .line 732
            iconst_m1
            istore 1 /* maximumArgumentNumber */
        start local 1 // int maximumArgumentNumber
         1: .line 733
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 734
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 2 /* i */
            iaload
            iload 1 /* maximumArgumentNumber */
            if_icmple 5
         4: .line 735
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 2 /* i */
            iaload
            istore 1 /* maximumArgumentNumber */
         5: .line 733
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmple 3
        end local 2 // int i
         7: .line 738
            iload 1 /* maximumArgumentNumber */
            iconst_1
            iadd
            anewarray java.text.Format
            astore 2 /* resultArray */
        start local 2 // java.text.Format[] resultArray
         8: .line 739
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 12
        10: .line 740
      StackMap locals: java.text.MessageFormat int java.text.Format[] int
      StackMap stack:
            aload 2 /* resultArray */
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 3 /* i */
            iaload
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 3 /* i */
            aaload
            aastore
        11: .line 739
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmple 10
        end local 3 // int i
        13: .line 742
            aload 2 /* resultArray */
            areturn
        end local 2 // java.text.Format[] resultArray
        end local 1 // int maximumArgumentNumber
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   14     0                   this  Ljava/text/MessageFormat;
            1   14     1  maximumArgumentNumber  I
            2    7     2                      i  I
            8   14     2            resultArray  [Ljava/text/Format;
            9   13     3                      i  I

  public java.text.Format[] getFormats();
    descriptor: ()[Ljava/text/Format;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.text.MessageFormat this
         0: .line 762
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            iconst_1
            iadd
            anewarray java.text.Format
            astore 1 /* resultArray */
        start local 1 // java.text.Format[] resultArray
         1: .line 763
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iconst_0
            aload 1 /* resultArray */
            iconst_0
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            iconst_1
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 764
            aload 1 /* resultArray */
            areturn
        end local 1 // java.text.Format[] resultArray
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljava/text/MessageFormat;
            1    3     1  resultArray  [Ljava/text/Format;

  public final java.lang.StringBuffer format(java.lang.Object[], java.lang.StringBuffer, java.text.FieldPosition);
    descriptor: ([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.Object[] arguments
        start local 2 // java.lang.StringBuffer result
        start local 3 // java.text.FieldPosition pos
         0: .line 839
            aload 0 /* this */
            aload 1 /* arguments */
            aload 2 /* result */
            aload 3 /* pos */
            aconst_null
            invokevirtual java.text.MessageFormat.subformat:([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer;
            areturn
        end local 3 // java.text.FieldPosition pos
        end local 2 // java.lang.StringBuffer result
        end local 1 // java.lang.Object[] arguments
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljava/text/MessageFormat;
            0    1     1  arguments  [Ljava/lang/Object;
            0    1     2     result  Ljava/lang/StringBuffer;
            0    1     3        pos  Ljava/text/FieldPosition;
    MethodParameters:
           Name  Flags
      arguments  
      result     
      pos        

  public static java.lang.String format(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String pattern
        start local 1 // java.lang.Object[] arguments
         0: .line 859
            new java.text.MessageFormat
            dup
            aload 0 /* pattern */
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* temp */
        start local 2 // java.text.MessageFormat temp
         1: .line 860
            aload 2 /* temp */
            aload 1 /* arguments */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 2 // java.text.MessageFormat temp
        end local 1 // java.lang.Object[] arguments
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0    pattern  Ljava/lang/String;
            0    2     1  arguments  [Ljava/lang/Object;
            1    2     2       temp  Ljava/text/MessageFormat;
    MethodParameters:
           Name  Flags
      pattern    
      arguments  

  public final java.lang.StringBuffer format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition);
    descriptor: (Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.Object arguments
        start local 2 // java.lang.StringBuffer result
        start local 3 // java.text.FieldPosition pos
         0: .line 885
            aload 0 /* this */
            aload 1 /* arguments */
            checkcast java.lang.Object[]
            aload 2 /* result */
            aload 3 /* pos */
            aconst_null
            invokevirtual java.text.MessageFormat.subformat:([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer;
            areturn
        end local 3 // java.text.FieldPosition pos
        end local 2 // java.lang.StringBuffer result
        end local 1 // java.lang.Object arguments
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljava/text/MessageFormat;
            0    1     1  arguments  Ljava/lang/Object;
            0    1     2     result  Ljava/lang/StringBuffer;
            0    1     3        pos  Ljava/text/FieldPosition;
    MethodParameters:
           Name  Flags
      arguments  
      result     
      pos        

  public java.text.AttributedCharacterIterator formatToCharacterIterator(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/text/AttributedCharacterIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.Object arguments
         0: .line 924
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* result */
        start local 2 // java.lang.StringBuffer result
         1: .line 925
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* iterators */
        start local 3 // java.util.ArrayList iterators
         2: .line 927
            aload 1 /* arguments */
            ifnonnull 6
         3: .line 928
            new java.lang.NullPointerException
            dup
         4: .line 929
            ldc "formatToCharacterIterator must be passed non-null object"
         5: .line 928
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 931
      StackMap locals: java.lang.StringBuffer java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arguments */
            checkcast java.lang.Object[]
            aload 2 /* result */
            aconst_null
            aload 3 /* iterators */
            invokevirtual java.text.MessageFormat.subformat:([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer;
            pop
         7: .line 932
            aload 3 /* iterators */
            invokevirtual java.util.ArrayList.size:()I
            ifne 9
         8: .line 933
            aload 0 /* this */
            ldc ""
            invokevirtual java.text.MessageFormat.createAttributedCharacterIterator:(Ljava/lang/String;)Ljava/text/AttributedCharacterIterator;
            areturn
         9: .line 935
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        10: .line 936
            aload 3 /* iterators */
        11: .line 937
            aload 3 /* iterators */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.text.AttributedCharacterIterator
        12: .line 936
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.text.AttributedCharacterIterator[]
        13: .line 935
            invokevirtual java.text.MessageFormat.createAttributedCharacterIterator:([Ljava/text/AttributedCharacterIterator;)Ljava/text/AttributedCharacterIterator;
            areturn
        end local 3 // java.util.ArrayList iterators
        end local 2 // java.lang.StringBuffer result
        end local 1 // java.lang.Object arguments
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Ljava/text/MessageFormat;
            0   14     1  arguments  Ljava/lang/Object;
            1   14     2     result  Ljava/lang/StringBuffer;
            2   14     3  iterators  Ljava/util/ArrayList<Ljava/text/AttributedCharacterIterator;>;
    MethodParameters:
           Name  Flags
      arguments  

  public java.lang.Object[] parse(java.lang.String, java.text.ParsePosition);
    descriptor: (Ljava/lang/String;Ljava/text/ParsePosition;)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.String source
        start local 2 // java.text.ParsePosition pos
         0: .line 974
            aload 1 /* source */
            ifnonnull 3
         1: .line 975
            iconst_0
            anewarray java.lang.Object
            astore 3 /* empty */
        start local 3 // java.lang.Object[] empty
         2: .line 976
            aload 3 /* empty */
            areturn
        end local 3 // java.lang.Object[] empty
         3: .line 979
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 3 /* maximumArgumentNumber */
        start local 3 // int maximumArgumentNumber
         4: .line 980
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 981
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 4 /* i */
            iaload
            iload 3 /* maximumArgumentNumber */
            if_icmple 8
         7: .line 982
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 4 /* i */
            iaload
            istore 3 /* maximumArgumentNumber */
         8: .line 980
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmple 6
        end local 4 // int i
        10: .line 985
            iload 3 /* maximumArgumentNumber */
            iconst_1
            iadd
            anewarray java.lang.Object
            astore 4 /* resultArray */
        start local 4 // java.lang.Object[] resultArray
        11: .line 987
            iconst_0
            istore 5 /* patternOffset */
        start local 5 // int patternOffset
        12: .line 988
            aload 2 /* pos */
            getfield java.text.ParsePosition.index:I
            istore 6 /* sourceOffset */
        start local 6 // int sourceOffset
        13: .line 989
            new java.text.ParsePosition
            dup
            iconst_0
            invokespecial java.text.ParsePosition.<init>:(I)V
            astore 7 /* tempStatus */
        start local 7 // java.text.ParsePosition tempStatus
        14: .line 990
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        15: goto 55
        16: .line 992
      StackMap locals: java.text.MessageFormat java.lang.String java.text.ParsePosition int java.lang.Object[] int int java.text.ParsePosition int
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            iload 8 /* i */
            iaload
            iload 5 /* patternOffset */
            isub
            istore 9 /* len */
        start local 9 // int len
        17: .line 993
            iload 9 /* len */
            ifeq 21
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            iload 5 /* patternOffset */
        18: .line 994
            aload 1 /* source */
            iload 6 /* sourceOffset */
            iload 9 /* len */
        19: .line 993
            invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
        20: .line 994
            ifeq 24
        21: .line 995
      StackMap locals: int
      StackMap stack:
            iload 6 /* sourceOffset */
            iload 9 /* len */
            iadd
            istore 6 /* sourceOffset */
        22: .line 996
            iload 5 /* patternOffset */
            iload 9 /* len */
            iadd
            istore 5 /* patternOffset */
        23: .line 997
            goto 26
        24: .line 998
      StackMap locals:
      StackMap stack:
            aload 2 /* pos */
            iload 6 /* sourceOffset */
            putfield java.text.ParsePosition.errorIndex:I
        25: .line 999
            aconst_null
            areturn
        26: .line 1003
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 8 /* i */
            aaload
            ifnonnull 46
        27: .line 1007
            iload 8 /* i */
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmpeq 28
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            iload 8 /* i */
            iconst_1
            iadd
            iaload
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
      StackMap locals:
      StackMap stack: int
        29: istore 10 /* tempLength */
        start local 10 // int tempLength
        30: .line 1010
            iload 5 /* patternOffset */
            iload 10 /* tempLength */
            if_icmplt 33
        31: .line 1011
            aload 1 /* source */
            invokevirtual java.lang.String.length:()I
            istore 11 /* next */
        start local 11 // int next
        32: .line 1012
            goto 36
        end local 11 // int next
        33: .line 1013
      StackMap locals: int
      StackMap stack:
            aload 1 /* source */
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            iload 5 /* patternOffset */
            iload 10 /* tempLength */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        34: .line 1014
            iload 6 /* sourceOffset */
        35: .line 1013
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 11 /* next */
        start local 11 // int next
        36: .line 1017
      StackMap locals: int
      StackMap stack:
            iload 11 /* next */
            ifge 39
        37: .line 1018
            aload 2 /* pos */
            iload 6 /* sourceOffset */
            putfield java.text.ParsePosition.errorIndex:I
        38: .line 1019
            aconst_null
            areturn
        39: .line 1021
      StackMap locals:
      StackMap stack:
            aload 1 /* source */
            iload 6 /* sourceOffset */
            iload 11 /* next */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 12 /* strValue */
        start local 12 // java.lang.String strValue
        40: .line 1022
            aload 12 /* strValue */
            new java.lang.StringBuilder
            dup
            ldc "{"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 8 /* i */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 44
        41: .line 1023
            aload 4 /* resultArray */
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 8 /* i */
            iaload
        42: .line 1024
            aload 1 /* source */
            iload 6 /* sourceOffset */
            iload 11 /* next */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        43: .line 1023
            aastore
        44: .line 1025
      StackMap locals: java.lang.String
      StackMap stack:
            iload 11 /* next */
            istore 6 /* sourceOffset */
        end local 12 // java.lang.String strValue
        end local 11 // int next
        end local 10 // int tempLength
        45: .line 1027
            goto 54
        46: .line 1028
      StackMap locals:
      StackMap stack:
            aload 7 /* tempStatus */
            iload 6 /* sourceOffset */
            putfield java.text.ParsePosition.index:I
        47: .line 1029
            aload 4 /* resultArray */
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 8 /* i */
            iaload
        48: .line 1030
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 8 /* i */
            aaload
            aload 1 /* source */
            aload 7 /* tempStatus */
            invokevirtual java.text.Format.parseObject:(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Object;
        49: .line 1029
            aastore
        50: .line 1031
            aload 7 /* tempStatus */
            getfield java.text.ParsePosition.index:I
            iload 6 /* sourceOffset */
            if_icmpne 53
        51: .line 1032
            aload 2 /* pos */
            iload 6 /* sourceOffset */
            putfield java.text.ParsePosition.errorIndex:I
        52: .line 1033
            aconst_null
            areturn
        53: .line 1035
      StackMap locals:
      StackMap stack:
            aload 7 /* tempStatus */
            getfield java.text.ParsePosition.index:I
            istore 6 /* sourceOffset */
        end local 9 // int len
        54: .line 990
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 8 /* i */
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmple 16
        end local 8 // int i
        56: .line 1038
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iload 5 /* patternOffset */
            isub
            istore 8 /* len */
        start local 8 // int len
        57: .line 1039
            iload 8 /* len */
            ifeq 61
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            iload 5 /* patternOffset */
        58: .line 1040
            aload 1 /* source */
            iload 6 /* sourceOffset */
            iload 8 /* len */
        59: .line 1039
            invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
        60: .line 1040
            ifeq 63
        61: .line 1041
      StackMap locals:
      StackMap stack:
            aload 2 /* pos */
            iload 6 /* sourceOffset */
            iload 8 /* len */
            iadd
            putfield java.text.ParsePosition.index:I
        62: .line 1042
            goto 65
        63: .line 1043
      StackMap locals:
      StackMap stack:
            aload 2 /* pos */
            iload 6 /* sourceOffset */
            putfield java.text.ParsePosition.errorIndex:I
        64: .line 1044
            aconst_null
            areturn
        65: .line 1046
      StackMap locals:
      StackMap stack:
            aload 4 /* resultArray */
            areturn
        end local 8 // int len
        end local 7 // java.text.ParsePosition tempStatus
        end local 6 // int sourceOffset
        end local 5 // int patternOffset
        end local 4 // java.lang.Object[] resultArray
        end local 3 // int maximumArgumentNumber
        end local 2 // java.text.ParsePosition pos
        end local 1 // java.lang.String source
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   66     0                   this  Ljava/text/MessageFormat;
            0   66     1                 source  Ljava/lang/String;
            0   66     2                    pos  Ljava/text/ParsePosition;
            2    3     3                  empty  [Ljava/lang/Object;
            4   66     3  maximumArgumentNumber  I
            5   10     4                      i  I
           11   66     4            resultArray  [Ljava/lang/Object;
           12   66     5          patternOffset  I
           13   66     6           sourceOffset  I
           14   66     7             tempStatus  Ljava/text/ParsePosition;
           15   56     8                      i  I
           17   54     9                    len  I
           30   45    10             tempLength  I
           32   33    11                   next  I
           36   45    11                   next  I
           40   45    12               strValue  Ljava/lang/String;
           57   66     8                    len  I
    MethodParameters:
        Name  Flags
      source  
      pos     

  public java.lang.Object[] parse(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.String source
         0: .line 1063
            new java.text.ParsePosition
            dup
            iconst_0
            invokespecial java.text.ParsePosition.<init>:(I)V
            astore 2 /* pos */
        start local 2 // java.text.ParsePosition pos
         1: .line 1064
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* pos */
            invokevirtual java.text.MessageFormat.parse:(Ljava/lang/String;Ljava/text/ParsePosition;)[Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object[] result
         2: .line 1065
            aload 2 /* pos */
            getfield java.text.ParsePosition.index:I
            ifne 4
         3: .line 1066
            new java.text.ParseException
            dup
            ldc "MessageFormat parse error!"
            aload 2 /* pos */
            getfield java.text.ParsePosition.errorIndex:I
            invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
            athrow
         4: .line 1068
      StackMap locals: java.text.ParsePosition java.lang.Object[]
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // java.lang.Object[] result
        end local 2 // java.text.ParsePosition pos
        end local 1 // java.lang.String source
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/text/MessageFormat;
            0    5     1  source  Ljava/lang/String;
            1    5     2     pos  Ljava/text/ParsePosition;
            2    5     3  result  [Ljava/lang/Object;
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
        Name  Flags
      source  

  public java.lang.Object parseObject(java.lang.String, java.text.ParsePosition);
    descriptor: (Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.String source
        start local 2 // java.text.ParsePosition pos
         0: .line 1096
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* pos */
            invokevirtual java.text.MessageFormat.parse:(Ljava/lang/String;Ljava/text/ParsePosition;)[Ljava/lang/Object;
            areturn
        end local 2 // java.text.ParsePosition pos
        end local 1 // java.lang.String source
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/text/MessageFormat;
            0    1     1  source  Ljava/lang/String;
            0    1     2     pos  Ljava/text/ParsePosition;
    MethodParameters:
        Name  Flags
      source  
      pos     

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.text.MessageFormat this
         0: .line 1105
            aload 0 /* this */
            invokespecial java.text.Format.clone:()Ljava/lang/Object;
            checkcast java.text.MessageFormat
            astore 1 /* other */
        start local 1 // java.text.MessageFormat other
         1: .line 1108
            aload 1 /* other */
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            invokevirtual java.text.Format[].clone:()Ljava/lang/Object;
            checkcast java.text.Format[]
            putfield java.text.MessageFormat.formats:[Ljava/text/Format;
         2: .line 1109
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 1110
      StackMap locals: java.text.MessageFormat int
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 2 /* i */
            aaload
            ifnull 6
         5: .line 1111
            aload 1 /* other */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 2 /* i */
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 2 /* i */
            aaload
            invokevirtual java.text.Format.clone:()Ljava/lang/Object;
            checkcast java.text.Format
            aastore
         6: .line 1109
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            arraylength
            if_icmplt 4
        end local 2 // int i
         8: .line 1114
            aload 1 /* other */
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            invokevirtual int[].clone:()Ljava/lang/Object;
            checkcast int[]
            putfield java.text.MessageFormat.offsets:[I
         9: .line 1115
            aload 1 /* other */
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            invokevirtual int[].clone:()Ljava/lang/Object;
            checkcast int[]
            putfield java.text.MessageFormat.argumentNumbers:[I
        10: .line 1117
            aload 1 /* other */
            areturn
        end local 1 // java.text.MessageFormat other
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Ljava/text/MessageFormat;
            1   11     1  other  Ljava/text/MessageFormat;
            3    8     2      i  I

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.Object obj
         0: .line 1124
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 1125
            iconst_1
            ireturn
         2: .line 1126
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ifnull 3
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 4
         3: .line 1127
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 1128
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast java.text.MessageFormat
            astore 2 /* other */
        start local 2 // java.text.MessageFormat other
         5: .line 1129
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            aload 2 /* other */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmpne 13
         6: .line 1130
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            aload 2 /* other */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         7: .line 1131
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            ifnull 8
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            aload 2 /* other */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 1132
      StackMap locals: java.text.MessageFormat
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            ifnonnull 13
            aload 2 /* other */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            ifnonnull 13
         9: .line 1133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            aload 2 /* other */
            getfield java.text.MessageFormat.offsets:[I
            invokestatic java.util.Arrays.equals:([I[I)Z
            ifeq 13
        10: .line 1134
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            aload 2 /* other */
            getfield java.text.MessageFormat.argumentNumbers:[I
            invokestatic java.util.Arrays.equals:([I[I)Z
            ifeq 13
        11: .line 1135
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            aload 2 /* other */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 13
        12: .line 1129
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        13: iconst_0
            ireturn
        end local 2 // java.text.MessageFormat other
        end local 1 // java.lang.Object obj
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Ljava/text/MessageFormat;
            0   14     1    obj  Ljava/lang/Object;
            5   14     2  other  Ljava/text/MessageFormat;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.text.MessageFormat this
         0: .line 1142
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/text/MessageFormat;

  private java.lang.StringBuffer subformat([], java.lang.StringBuffer, java.text.FieldPosition, java.util.List<java.text.AttributedCharacterIterator>);
    descriptor: ([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=5
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.Object[] arguments
        start local 2 // java.lang.StringBuffer result
        start local 3 // java.text.FieldPosition fp
        start local 4 // java.util.List characterIterators
         0: .line 1261
            iconst_0
            istore 5 /* lastOffset */
        start local 5 // int lastOffset
         1: .line 1262
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 6 /* last */
        start local 6 // int last
         2: .line 1263
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         3: goto 80
         4: .line 1264
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* result */
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            iload 5 /* lastOffset */
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            iload 7 /* i */
            iaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuffer;
            pop
         5: .line 1265
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            iload 7 /* i */
            iaload
            istore 5 /* lastOffset */
         6: .line 1266
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 7 /* i */
            iaload
            istore 8 /* argumentNumber */
        start local 8 // int argumentNumber
         7: .line 1267
            aload 1 /* arguments */
            ifnull 8
            iload 8 /* argumentNumber */
            aload 1 /* arguments */
            arraylength
            if_icmplt 10
         8: .line 1268
      StackMap locals: int
      StackMap stack:
            aload 2 /* result */
            bipush 123
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            iload 8 /* argumentNumber */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            bipush 125
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 1269
            goto 79
        10: .line 1276
      StackMap locals:
      StackMap stack:
            aload 1 /* arguments */
            iload 8 /* argumentNumber */
            aaload
            astore 9 /* obj */
        start local 9 // java.lang.Object obj
        11: .line 1277
            aconst_null
            astore 10 /* arg */
        start local 10 // java.lang.String arg
        12: .line 1278
            aconst_null
            astore 11 /* subFormatter */
        start local 11 // java.text.Format subFormatter
        13: .line 1279
            aload 9 /* obj */
            ifnonnull 16
        14: .line 1280
            ldc "null"
            astore 10 /* arg */
        15: .line 1281
            goto 37
      StackMap locals: java.lang.Object java.lang.String java.text.Format
      StackMap stack:
        16: aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 7 /* i */
            aaload
            ifnull 25
        17: .line 1282
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 7 /* i */
            aaload
            astore 11 /* subFormatter */
        18: .line 1283
            aload 11 /* subFormatter */
            instanceof java.text.ChoiceFormat
            ifeq 37
        19: .line 1284
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 7 /* i */
            aaload
            aload 9 /* obj */
            invokevirtual java.text.Format.format:(Ljava/lang/Object;)Ljava/lang/String;
            astore 10 /* arg */
        20: .line 1285
            aload 10 /* arg */
            bipush 123
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 37
        21: .line 1286
            new java.text.MessageFormat
            dup
            aload 10 /* arg */
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            astore 11 /* subFormatter */
        22: .line 1287
            aload 1 /* arguments */
            astore 9 /* obj */
        23: .line 1288
            aconst_null
            astore 10 /* arg */
        24: .line 1291
            goto 37
      StackMap locals:
      StackMap stack:
        25: aload 9 /* obj */
            instanceof java.lang.Number
            ifeq 28
        26: .line 1293
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokestatic java.text.NumberFormat.getInstance:(Ljava/util/Locale;)Ljava/text/NumberFormat;
            astore 11 /* subFormatter */
        27: .line 1294
            goto 37
      StackMap locals:
      StackMap stack:
        28: aload 9 /* obj */
            instanceof java.util.Date
            ifeq 32
        29: .line 1297
            iconst_3
            iconst_3
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
        30: .line 1296
            invokestatic java.text.DateFormat.getDateTimeInstance:(IILjava/util/Locale;)Ljava/text/DateFormat;
            astore 11 /* subFormatter */
        31: .line 1298
            goto 37
      StackMap locals:
      StackMap stack:
        32: aload 9 /* obj */
            instanceof java.lang.String
            ifeq 35
        33: .line 1299
            aload 9 /* obj */
            checkcast java.lang.String
            astore 10 /* arg */
        34: .line 1301
            goto 37
        35: .line 1302
      StackMap locals:
      StackMap stack:
            aload 9 /* obj */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 10 /* arg */
        36: .line 1303
            aload 10 /* arg */
            ifnonnull 37
            ldc "null"
            astore 10 /* arg */
        37: .line 1310
      StackMap locals:
      StackMap stack:
            aload 4 /* characterIterators */
            ifnull 68
        38: .line 1313
            iload 6 /* last */
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.length:()I
            if_icmpeq 45
        39: .line 1314
            aload 4 /* characterIterators */
        40: .line 1315
            aload 0 /* this */
            aload 2 /* result */
        41: .line 1316
            iload 6 /* last */
        42: .line 1315
            invokevirtual java.lang.StringBuffer.substring:(I)Ljava/lang/String;
            invokevirtual java.text.MessageFormat.createAttributedCharacterIterator:(Ljava/lang/String;)Ljava/text/AttributedCharacterIterator;
        43: .line 1314
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        44: .line 1317
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 6 /* last */
        45: .line 1319
      StackMap locals:
      StackMap stack:
            aload 11 /* subFormatter */
            ifnull 58
        46: .line 1321
            aload 11 /* subFormatter */
            aload 9 /* obj */
            invokevirtual java.text.Format.formatToCharacterIterator:(Ljava/lang/Object;)Ljava/text/AttributedCharacterIterator;
        47: .line 1320
            astore 12 /* subIterator */
        start local 12 // java.text.AttributedCharacterIterator subIterator
        48: .line 1323
            aload 0 /* this */
            aload 2 /* result */
            aload 12 /* subIterator */
            invokevirtual java.text.MessageFormat.append:(Ljava/lang/StringBuffer;Ljava/text/CharacterIterator;)V
        49: .line 1324
            iload 6 /* last */
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.length:()I
            if_icmpeq 57
        50: .line 1325
            aload 4 /* characterIterators */
        51: .line 1326
            aload 0 /* this */
        52: .line 1327
            aload 12 /* subIterator */
            getstatic java.text.MessageFormat$Field.ARGUMENT:Ljava/text/MessageFormat$Field;
        53: .line 1328
            iload 8 /* argumentNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        54: .line 1326
            invokevirtual java.text.MessageFormat.createAttributedCharacterIterator:(Ljava/text/AttributedCharacterIterator;Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;)Ljava/text/AttributedCharacterIterator;
        55: .line 1325
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        56: .line 1329
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 6 /* last */
        57: .line 1331
      StackMap locals: java.text.AttributedCharacterIterator
      StackMap stack:
            aconst_null
            astore 10 /* arg */
        end local 12 // java.text.AttributedCharacterIterator subIterator
        58: .line 1333
      StackMap locals:
      StackMap stack:
            aload 10 /* arg */
            ifnull 79
            aload 10 /* arg */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 79
        59: .line 1334
            aload 2 /* result */
            aload 10 /* arg */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        60: .line 1335
            aload 4 /* characterIterators */
        61: .line 1336
            aload 0 /* this */
        62: .line 1337
            aload 10 /* arg */
            getstatic java.text.MessageFormat$Field.ARGUMENT:Ljava/text/MessageFormat$Field;
        63: .line 1338
            iload 8 /* argumentNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        64: .line 1336
            invokevirtual java.text.MessageFormat.createAttributedCharacterIterator:(Ljava/lang/String;Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;)Ljava/text/AttributedCharacterIterator;
        65: .line 1335
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        66: .line 1339
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 6 /* last */
        67: .line 1341
            goto 79
        68: .line 1343
      StackMap locals:
      StackMap stack:
            aload 11 /* subFormatter */
            ifnull 70
        69: .line 1344
            aload 11 /* subFormatter */
            aload 9 /* obj */
            invokevirtual java.text.Format.format:(Ljava/lang/Object;)Ljava/lang/String;
            astore 10 /* arg */
        70: .line 1346
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 6 /* last */
        71: .line 1347
            aload 2 /* result */
            aload 10 /* arg */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        72: .line 1348
            iload 7 /* i */
            ifne 78
            aload 3 /* fp */
            ifnull 78
            getstatic java.text.MessageFormat$Field.ARGUMENT:Ljava/text/MessageFormat$Field;
        73: .line 1349
            aload 3 /* fp */
            invokevirtual java.text.FieldPosition.getFieldAttribute:()Ljava/text/Format$Field;
        74: .line 1348
            invokevirtual java.text.MessageFormat$Field.equals:(Ljava/lang/Object;)Z
        75: .line 1349
            ifeq 78
        76: .line 1350
            aload 3 /* fp */
            iload 6 /* last */
            invokevirtual java.text.FieldPosition.setBeginIndex:(I)V
        77: .line 1351
            aload 3 /* fp */
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.length:()I
            invokevirtual java.text.FieldPosition.setEndIndex:(I)V
        78: .line 1353
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 6 /* last */
        end local 11 // java.text.Format subFormatter
        end local 10 // java.lang.String arg
        end local 9 // java.lang.Object obj
        end local 8 // int argumentNumber
        79: .line 1263
      StackMap locals: java.text.MessageFormat java.lang.Object[] java.lang.StringBuffer java.text.FieldPosition java.util.List int int int
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        80: iload 7 /* i */
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmple 4
        end local 7 // int i
        81: .line 1357
            aload 2 /* result */
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            iload 5 /* lastOffset */
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuffer;
            pop
        82: .line 1358
            aload 4 /* characterIterators */
            ifnull 86
            iload 6 /* last */
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.length:()I
            if_icmpeq 86
        83: .line 1359
            aload 4 /* characterIterators */
            aload 0 /* this */
        84: .line 1360
            aload 2 /* result */
            iload 6 /* last */
            invokevirtual java.lang.StringBuffer.substring:(I)Ljava/lang/String;
        85: .line 1359
            invokevirtual java.text.MessageFormat.createAttributedCharacterIterator:(Ljava/lang/String;)Ljava/text/AttributedCharacterIterator;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        86: .line 1362
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 6 // int last
        end local 5 // int lastOffset
        end local 4 // java.util.List characterIterators
        end local 3 // java.text.FieldPosition fp
        end local 2 // java.lang.StringBuffer result
        end local 1 // java.lang.Object[] arguments
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   87     0                this  Ljava/text/MessageFormat;
            0   87     1           arguments  [Ljava/lang/Object;
            0   87     2              result  Ljava/lang/StringBuffer;
            0   87     3                  fp  Ljava/text/FieldPosition;
            0   87     4  characterIterators  Ljava/util/List<Ljava/text/AttributedCharacterIterator;>;
            1   87     5          lastOffset  I
            2   87     6                last  I
            3   81     7                   i  I
            7   79     8      argumentNumber  I
           11   79     9                 obj  Ljava/lang/Object;
           12   79    10                 arg  Ljava/lang/String;
           13   79    11        subFormatter  Ljava/text/Format;
           48   58    12         subIterator  Ljava/text/AttributedCharacterIterator;
    Signature: ([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List<Ljava/text/AttributedCharacterIterator;>;)Ljava/lang/StringBuffer;
    MethodParameters:
                    Name  Flags
      arguments           
      result              
      fp                  
      characterIterators  

  private void append(java.lang.StringBuffer, java.text.CharacterIterator);
    descriptor: (Ljava/lang/StringBuffer;Ljava/text/CharacterIterator;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.text.MessageFormat this
        start local 1 // java.lang.StringBuffer result
        start local 2 // java.text.CharacterIterator iterator
         0: .line 1370
            aload 2 /* iterator */
            invokeinterface java.text.CharacterIterator.first:()C
            ldc 65535
            if_icmpeq 6
         1: .line 1373
            aload 1 /* result */
            aload 2 /* iterator */
            invokeinterface java.text.CharacterIterator.first:()C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 1374
            goto 4
        start local 3 // char aChar
         3: .line 1375
      StackMap locals: int
      StackMap stack:
            aload 1 /* result */
            iload 3 /* aChar */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // char aChar
         4: .line 1374
      StackMap locals:
      StackMap stack:
            aload 2 /* iterator */
            invokeinterface java.text.CharacterIterator.next:()C
            dup
            istore 3 /* aChar */
        start local 3 // char aChar
         5: ldc 65535
            if_icmpne 3
        end local 3 // char aChar
         6: .line 1378
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.text.CharacterIterator iterator
        end local 1 // java.lang.StringBuffer result
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljava/text/MessageFormat;
            0    7     1    result  Ljava/lang/StringBuffer;
            0    7     2  iterator  Ljava/text/CharacterIterator;
            3    4     3     aChar  C
            5    6     3     aChar  C
    MethodParameters:
          Name  Flags
      result    
      iterator  

  private void makeFormat(int, int, java.lang.StringBuilder[]);
    descriptor: (II[Ljava/lang/StringBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // java.text.MessageFormat this
        start local 1 // int position
        start local 2 // int offsetNumber
        start local 3 // java.lang.StringBuilder[] textSegments
         0: .line 1440
            aload 3 /* textSegments */
            arraylength
            anewarray java.lang.String
            astore 4 /* segments */
        start local 4 // java.lang.String[] segments
         1: .line 1441
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 8
         3: .line 1442
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 3 /* textSegments */
            iload 5 /* i */
            aaload
            astore 6 /* oneseg */
        start local 6 // java.lang.StringBuilder oneseg
         4: .line 1443
            aload 4 /* segments */
            iload 5 /* i */
            aload 6 /* oneseg */
            ifnull 5
            aload 6 /* oneseg */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 6
      StackMap locals: java.text.MessageFormat int int java.lang.StringBuilder[] java.lang.String[] int java.lang.StringBuilder
      StackMap stack: java.lang.String[] int
         5: ldc ""
      StackMap locals: java.text.MessageFormat int int java.lang.StringBuilder[] java.lang.String[] int java.lang.StringBuilder
      StackMap stack: java.lang.String[] int java.lang.String
         6: aastore
        end local 6 // java.lang.StringBuilder oneseg
         7: .line 1441
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 3 /* textSegments */
            arraylength
            if_icmplt 3
        end local 5 // int i
         9: .line 1449
            aload 4 /* segments */
            iconst_1
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 5 /* argumentNumber */
        start local 5 // int argumentNumber
        10: .line 1450
            goto 15
        end local 5 // int argumentNumber
      StackMap locals: java.text.MessageFormat int int java.lang.StringBuilder[] java.lang.String[]
      StackMap stack: java.lang.NumberFormatException
        11: astore 6 /* e */
        start local 6 // java.lang.NumberFormatException e
        12: .line 1451
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "can't parse argument number: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 1452
            aload 4 /* segments */
            iconst_1
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
        14: .line 1451
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.NumberFormatException e
        start local 5 // int argumentNumber
        15: .line 1454
      StackMap locals: int
      StackMap stack:
            iload 5 /* argumentNumber */
            ifge 19
        16: .line 1455
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "negative argument number: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 1456
            iload 5 /* argumentNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 1455
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1460
      StackMap locals:
      StackMap stack:
            iload 2 /* offsetNumber */
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            arraylength
            if_icmplt 30
        20: .line 1461
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            arraylength
            iconst_2
            imul
            istore 6 /* newLength */
        start local 6 // int newLength
        21: .line 1462
            iload 6 /* newLength */
            anewarray java.text.Format
            astore 7 /* newFormats */
        start local 7 // java.text.Format[] newFormats
        22: .line 1463
            iload 6 /* newLength */
            newarray 10
            astore 8 /* newOffsets */
        start local 8 // int[] newOffsets
        23: .line 1464
            iload 6 /* newLength */
            newarray 10
            astore 9 /* newArgumentNumbers */
        start local 9 // int[] newArgumentNumbers
        24: .line 1465
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iconst_0
            aload 7 /* newFormats */
            iconst_0
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            iconst_1
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 1466
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            iconst_0
            aload 8 /* newOffsets */
            iconst_0
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            iconst_1
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 1467
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iconst_0
            aload 9 /* newArgumentNumbers */
            iconst_0
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            iconst_1
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        27: .line 1468
            aload 0 /* this */
            aload 7 /* newFormats */
            putfield java.text.MessageFormat.formats:[Ljava/text/Format;
        28: .line 1469
            aload 0 /* this */
            aload 8 /* newOffsets */
            putfield java.text.MessageFormat.offsets:[I
        29: .line 1470
            aload 0 /* this */
            aload 9 /* newArgumentNumbers */
            putfield java.text.MessageFormat.argumentNumbers:[I
        end local 9 // int[] newArgumentNumbers
        end local 8 // int[] newOffsets
        end local 7 // java.text.Format[] newFormats
        end local 6 // int newLength
        30: .line 1472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            istore 6 /* oldMaxOffset */
        start local 6 // int oldMaxOffset
        31: .line 1473
            aload 0 /* this */
            iload 2 /* offsetNumber */
            putfield java.text.MessageFormat.maxOffset:I
        32: .line 1474
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            iload 2 /* offsetNumber */
            aload 4 /* segments */
            iconst_0
            aaload
            invokevirtual java.lang.String.length:()I
            iastore
        33: .line 1475
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            iload 2 /* offsetNumber */
            iload 5 /* argumentNumber */
            iastore
        34: .line 1478
            aconst_null
            astore 7 /* newFormat */
        start local 7 // java.text.Format newFormat
        35: .line 1479
            aload 4 /* segments */
            iconst_2
            aaload
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 82
        36: .line 1480
            aload 4 /* segments */
            iconst_2
            aaload
            getstatic java.text.MessageFormat.TYPE_KEYWORDS:[Ljava/lang/String;
            invokestatic java.text.MessageFormat.findKeyword:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 8 /* type */
        start local 8 // int type
        37: .line 1481
            iload 8 /* type */
            tableswitch { // 0 - 4
                    0: 38
                    1: 39
                    2: 55
                    3: 55
                    4: 71
              default: 78
          }
        38: .line 1485
      StackMap locals: int java.text.Format int
      StackMap stack:
            goto 82
        39: .line 1488
      StackMap locals:
      StackMap stack:
            aload 4 /* segments */
            iconst_3
            aaload
            getstatic java.text.MessageFormat.NUMBER_MODIFIER_KEYWORDS:[Ljava/lang/String;
            invokestatic java.text.MessageFormat.findKeyword:(Ljava/lang/String;[Ljava/lang/String;)I
            tableswitch { // 0 - 3
                    0: 40
                    1: 42
                    2: 44
                    3: 46
              default: 48
          }
        40: .line 1490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokestatic java.text.NumberFormat.getInstance:(Ljava/util/Locale;)Ljava/text/NumberFormat;
            astore 7 /* newFormat */
        41: .line 1491
            goto 82
        42: .line 1493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokestatic java.text.NumberFormat.getCurrencyInstance:(Ljava/util/Locale;)Ljava/text/NumberFormat;
            astore 7 /* newFormat */
        43: .line 1494
            goto 82
        44: .line 1496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokestatic java.text.NumberFormat.getPercentInstance:(Ljava/util/Locale;)Ljava/text/NumberFormat;
            astore 7 /* newFormat */
        45: .line 1497
            goto 82
        46: .line 1499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokestatic java.text.NumberFormat.getIntegerInstance:(Ljava/util/Locale;)Ljava/text/NumberFormat;
            astore 7 /* newFormat */
        47: .line 1500
            goto 82
        48: .line 1503
      StackMap locals:
      StackMap stack:
            new java.text.DecimalFormat
            dup
            aload 4 /* segments */
            iconst_3
            aaload
        49: .line 1504
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokestatic java.text.DecimalFormatSymbols.getInstance:(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;
        50: .line 1503
            invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;Ljava/text/DecimalFormatSymbols;)V
            astore 7 /* newFormat */
        51: .line 1505
            goto 82
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        52: astore 9 /* e */
        start local 9 // java.lang.IllegalArgumentException e
        53: .line 1506
            aload 0 /* this */
            iload 6 /* oldMaxOffset */
            putfield java.text.MessageFormat.maxOffset:I
        54: .line 1507
            aload 9 /* e */
            athrow
        end local 9 // java.lang.IllegalArgumentException e
        55: .line 1515
      StackMap locals:
      StackMap stack:
            aload 4 /* segments */
            iconst_3
            aaload
            getstatic java.text.MessageFormat.DATE_TIME_MODIFIER_KEYWORDS:[Ljava/lang/String;
            invokestatic java.text.MessageFormat.findKeyword:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 9 /* mod */
        start local 9 // int mod
        56: .line 1516
            iload 9 /* mod */
            iflt 66
            iload 9 /* mod */
            getstatic java.text.MessageFormat.DATE_TIME_MODIFIER_KEYWORDS:[Ljava/lang/String;
            arraylength
            if_icmpge 66
        57: .line 1517
            iload 8 /* type */
            iconst_2
            if_icmpne 62
        58: .line 1518
            getstatic java.text.MessageFormat.DATE_TIME_MODIFIERS:[I
            iload 9 /* mod */
            iaload
        59: .line 1519
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
        60: .line 1518
            invokestatic java.text.DateFormat.getDateInstance:(ILjava/util/Locale;)Ljava/text/DateFormat;
            astore 7 /* newFormat */
        61: .line 1520
            goto 82
        62: .line 1521
      StackMap locals: int
      StackMap stack:
            getstatic java.text.MessageFormat.DATE_TIME_MODIFIERS:[I
            iload 9 /* mod */
            iaload
        63: .line 1522
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
        64: .line 1521
            invokestatic java.text.DateFormat.getTimeInstance:(ILjava/util/Locale;)Ljava/text/DateFormat;
            astore 7 /* newFormat */
        65: .line 1524
            goto 82
        66: .line 1527
      StackMap locals:
      StackMap stack:
            new java.text.SimpleDateFormat
            dup
            aload 4 /* segments */
            iconst_3
            aaload
            aload 0 /* this */
            getfield java.text.MessageFormat.locale:Ljava/util/Locale;
            invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            astore 7 /* newFormat */
        67: .line 1528
            goto 82
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        68: astore 10 /* e */
        start local 10 // java.lang.IllegalArgumentException e
        69: .line 1529
            aload 0 /* this */
            iload 6 /* oldMaxOffset */
            putfield java.text.MessageFormat.maxOffset:I
        70: .line 1530
            aload 10 /* e */
            athrow
        end local 10 // java.lang.IllegalArgumentException e
        end local 9 // int mod
        71: .line 1538
      StackMap locals:
      StackMap stack:
            new java.text.ChoiceFormat
            dup
            aload 4 /* segments */
            iconst_3
            aaload
            invokespecial java.text.ChoiceFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* newFormat */
        72: .line 1539
            goto 82
      StackMap locals:
      StackMap stack: java.lang.Exception
        73: astore 10 /* e */
        start local 10 // java.lang.Exception e
        74: .line 1540
            aload 0 /* this */
            iload 6 /* oldMaxOffset */
            putfield java.text.MessageFormat.maxOffset:I
        75: .line 1541
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Choice Pattern incorrect: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        76: .line 1542
            aload 4 /* segments */
            iconst_3
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 10 /* e */
        77: .line 1541
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 10 // java.lang.Exception e
        78: .line 1547
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* oldMaxOffset */
            putfield java.text.MessageFormat.maxOffset:I
        79: .line 1548
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown format type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        80: .line 1549
            aload 4 /* segments */
            iconst_2
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        81: .line 1548
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // int type
        82: .line 1552
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            iload 2 /* offsetNumber */
            aload 7 /* newFormat */
            aastore
        83: .line 1553
            return
        end local 7 // java.text.Format newFormat
        end local 6 // int oldMaxOffset
        end local 5 // int argumentNumber
        end local 4 // java.lang.String[] segments
        end local 3 // java.lang.StringBuilder[] textSegments
        end local 2 // int offsetNumber
        end local 1 // int position
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   84     0                this  Ljava/text/MessageFormat;
            0   84     1            position  I
            0   84     2        offsetNumber  I
            0   84     3        textSegments  [Ljava/lang/StringBuilder;
            1   84     4            segments  [Ljava/lang/String;
            2    9     5                   i  I
            4    7     6              oneseg  Ljava/lang/StringBuilder;
           10   11     5      argumentNumber  I
           15   84     5      argumentNumber  I
           12   15     6                   e  Ljava/lang/NumberFormatException;
           21   30     6           newLength  I
           22   30     7          newFormats  [Ljava/text/Format;
           23   30     8          newOffsets  [I
           24   30     9  newArgumentNumbers  [I
           31   84     6        oldMaxOffset  I
           35   84     7           newFormat  Ljava/text/Format;
           37   82     8                type  I
           53   55     9                   e  Ljava/lang/IllegalArgumentException;
           56   71     9                 mod  I
           69   71    10                   e  Ljava/lang/IllegalArgumentException;
           74   78    10                   e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.NumberFormatException
          48    51      52  Class java.lang.IllegalArgumentException
          66    67      68  Class java.lang.IllegalArgumentException
          71    72      73  Class java.lang.Exception
    MethodParameters:
              Name  Flags
      position      
      offsetNumber  
      textSegments  

  private static final int findKeyword(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.lang.String[] list
         0: .line 1556
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 1557
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            aload 1 /* list */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1558
            iload 2 /* i */
            ireturn
         4: .line 1556
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* list */
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 1562
            aload 0 /* s */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 2 /* ls */
        start local 2 // java.lang.String ls
         7: .line 1563
            aload 2 /* ls */
            aload 0 /* s */
            if_acmpeq 14
         8: .line 1564
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 13
        10: .line 1565
      StackMap locals: java.lang.String java.lang.String[] java.lang.String int
      StackMap stack:
            aload 2 /* ls */
            aload 1 /* list */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1566
            iload 3 /* i */
            ireturn
        12: .line 1564
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            aload 1 /* list */
            arraylength
            if_icmplt 10
        end local 3 // int i
        14: .line 1569
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // java.lang.String ls
        end local 1 // java.lang.String[] list
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0     s  Ljava/lang/String;
            0   15     1  list  [Ljava/lang/String;
            1    6     2     i  I
            7   15     2    ls  Ljava/lang/String;
            9   14     3     i  I
    MethodParameters:
      Name  Flags
      s     
      list  

  private static final void copyAndFixQuotes(java.lang.String, int, int, java.lang.StringBuilder);
    descriptor: (Ljava/lang/String;IILjava/lang/StringBuilder;)V
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // java.lang.String source
        start local 1 // int start
        start local 2 // int end
        start local 3 // java.lang.StringBuilder target
         0: .line 1574
            iconst_0
            istore 4 /* quoted */
        start local 4 // boolean quoted
         1: .line 1576
            iload 1 /* start */
            istore 5 /* i */
        start local 5 // int i
         2: goto 18
         3: .line 1577
      StackMap locals: int int
      StackMap stack:
            aload 0 /* source */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* ch */
        start local 6 // char ch
         4: .line 1578
            iload 6 /* ch */
            bipush 123
            if_icmpne 10
         5: .line 1579
            iload 4 /* quoted */
            ifne 8
         6: .line 1580
            aload 3 /* target */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 1581
            iconst_1
            istore 4 /* quoted */
         8: .line 1583
      StackMap locals: int
      StackMap stack:
            aload 3 /* target */
            iload 6 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 1584
            goto 17
      StackMap locals:
      StackMap stack:
        10: iload 6 /* ch */
            bipush 39
            if_icmpne 13
        11: .line 1585
            aload 3 /* target */
            ldc "''"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 1586
            goto 17
        13: .line 1587
      StackMap locals:
      StackMap stack:
            iload 4 /* quoted */
            ifeq 16
        14: .line 1588
            aload 3 /* target */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 1589
            iconst_0
            istore 4 /* quoted */
        16: .line 1591
      StackMap locals:
      StackMap stack:
            aload 3 /* target */
            iload 6 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 6 // char ch
        17: .line 1576
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            iload 2 /* end */
            if_icmplt 3
        end local 5 // int i
        19: .line 1594
            iload 4 /* quoted */
            ifeq 21
        20: .line 1595
            aload 3 /* target */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        21: .line 1597
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean quoted
        end local 3 // java.lang.StringBuilder target
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0  source  Ljava/lang/String;
            0   22     1   start  I
            0   22     2     end  I
            0   22     3  target  Ljava/lang/StringBuilder;
            1   22     4  quoted  Z
            2   19     5       i  I
            4   17     6      ch  C
    MethodParameters:
        Name  Flags
      source  
      start   
      end     
      target  

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.text.MessageFormat this
        start local 1 // java.io.ObjectInputStream in
         0: .line 1605
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 1606
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            iconst_m1
            if_icmplt 6
         2: .line 1607
            aload 0 /* this */
            getfield java.text.MessageFormat.formats:[Ljava/text/Format;
            arraylength
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmple 6
         3: .line 1608
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            arraylength
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            if_icmple 6
         4: .line 1609
            aload 0 /* this */
            getfield java.text.MessageFormat.argumentNumbers:[I
            arraylength
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
         5: .line 1606
            if_icmple 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 2 /* isValid */
        start local 2 // boolean isValid
         8: .line 1610
            iload 2 /* isValid */
            ifeq 18
         9: .line 1611
            aload 0 /* this */
            getfield java.text.MessageFormat.pattern:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            istore 3 /* lastOffset */
        start local 3 // int lastOffset
        10: .line 1612
            aload 0 /* this */
            getfield java.text.MessageFormat.maxOffset:I
            istore 4 /* i */
        start local 4 // int i
        11: goto 17
        12: .line 1613
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            iload 4 /* i */
            iaload
            iflt 13
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            iload 4 /* i */
            iaload
            iload 3 /* lastOffset */
            if_icmple 15
        13: .line 1614
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* isValid */
        14: .line 1615
            goto 18
        15: .line 1617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.text.MessageFormat.offsets:[I
            iload 4 /* i */
            iaload
            istore 3 /* lastOffset */
        16: .line 1612
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            ifge 12
        end local 4 // int i
        end local 3 // int lastOffset
        18: .line 1621
      StackMap locals:
      StackMap stack:
            iload 2 /* isValid */
            ifne 20
        19: .line 1622
            new java.io.InvalidObjectException
            dup
            ldc "Could not reconstruct MessageFormat from corrupt stream."
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 1624
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean isValid
        end local 1 // java.io.ObjectInputStream in
        end local 0 // java.text.MessageFormat this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Ljava/text/MessageFormat;
            0   21     1          in  Ljava/io/ObjectInputStream;
            8   21     2     isValid  Z
           10   18     3  lastOffset  I
           11   18     4           i  I
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    
}
SourceFile: "MessageFormat.java"
NestMembers:
  java.text.MessageFormat$Field
InnerClasses:
  public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
  public Field = java.text.Format$Field of java.text.Format
  public Field = java.text.MessageFormat$Field of java.text.MessageFormat
  public final Category = java.util.Locale$Category of java.util.Locale