public abstract class com.sun.xml.internal.dtdparser.MessageCatalog
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.xml.internal.dtdparser.MessageCatalog
  super_class: java.lang.Object
{
  private java.lang.String bundleName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Hashtable cache;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE

  protected void <init>(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
        start local 1 // java.lang.Class packageMember
         0: .line 151
            aload 0 /* this */
            aload 1 /* packageMember */
            ldc "Messages"
            invokespecial com.sun.xml.internal.dtdparser.MessageCatalog.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
         1: .line 152
            return
        end local 1 // java.lang.Class packageMember
        end local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/sun/xml/internal/dtdparser/MessageCatalog;
            0    2     1  packageMember  Ljava/lang/Class;
    MethodParameters:
               Name  Flags
      packageMember  

  private void <init>(java.lang.Class, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
        start local 1 // java.lang.Class packageMember
        start local 2 // java.lang.String bundle
         0: .line 163
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 432
            aload 0 /* this */
            new java.util.Hashtable
            dup
            iconst_5
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield com.sun.xml.internal.dtdparser.MessageCatalog.cache:Ljava/util/Hashtable;
         2: .line 166
            aload 0 /* this */
            aload 1 /* packageMember */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
         3: .line 167
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* index */
        start local 3 // int index
         4: .line 168
            iload 3 /* index */
            iconst_m1
            if_icmpne 6
         5: .line 169
            aload 0 /* this */
            ldc ""
            putfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
            goto 7
         6: .line 171
      StackMap locals: com.sun.xml.internal.dtdparser.MessageCatalog java.lang.Class java.lang.String int
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
            iconst_0
            iload 3 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
         7: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "resources."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* bundle */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
         8: .line 173
            return
        end local 3 // int index
        end local 2 // java.lang.String bundle
        end local 1 // java.lang.Class packageMember
        end local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lcom/sun/xml/internal/dtdparser/MessageCatalog;
            0    9     1  packageMember  Ljava/lang/Class;
            0    9     2         bundle  Ljava/lang/String;
            4    9     3          index  I
    MethodParameters:
               Name  Flags
      packageMember  
      bundle         

  public java.lang.String getMessage(java.util.Locale, java.lang.String);
    descriptor: (Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
        start local 1 // java.util.Locale locale
        start local 2 // java.lang.String messageId
         0: .line 195
            aload 1 /* locale */
            ifnonnull 2
         1: .line 196
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            astore 1 /* locale */
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
            aload 1 /* locale */
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
            astore 3 /* bundle */
        start local 3 // java.util.ResourceBundle bundle
         3: .line 200
            goto 6
        end local 3 // java.util.ResourceBundle bundle
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
         4: pop
         5: .line 201
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
            astore 3 /* bundle */
        start local 3 // java.util.ResourceBundle bundle
         6: .line 203
      StackMap locals: java.util.ResourceBundle
      StackMap stack:
            aload 3 /* bundle */
            aload 2 /* messageId */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 3 // java.util.ResourceBundle bundle
        end local 2 // java.lang.String messageId
        end local 1 // java.util.Locale locale
        end local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/sun/xml/internal/dtdparser/MessageCatalog;
            0    7     1     locale  Ljava/util/Locale;
            0    7     2  messageId  Ljava/lang/String;
            3    4     3     bundle  Ljava/util/ResourceBundle;
            6    7     3     bundle  Ljava/util/ResourceBundle;
      Exception table:
        from    to  target  type
           2     3       4  Class java.util.MissingResourceException
    MethodParameters:
           Name  Flags
      locale     
      messageId  

  public java.lang.String getMessage(java.util.Locale, java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
        start local 1 // java.util.Locale locale
        start local 2 // java.lang.String messageId
        start local 3 // java.lang.Object[] parameters
         0: .line 228
            aload 3 /* parameters */
            ifnonnull 2
         1: .line 229
            aload 0 /* this */
            aload 1 /* locale */
            aload 2 /* messageId */
            invokevirtual com.sun.xml.internal.dtdparser.MessageCatalog.getMessage:(Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;
            areturn
         2: .line 234
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 11
         4: .line 235
      StackMap locals: int
      StackMap stack:
            aload 3 /* parameters */
            iload 4 /* i */
            aaload
            instanceof java.lang.String
            ifne 10
         5: .line 236
            aload 3 /* parameters */
            iload 4 /* i */
            aaload
            instanceof java.lang.Number
            ifne 10
         6: .line 237
            aload 3 /* parameters */
            iload 4 /* i */
            aaload
            instanceof java.util.Date
            ifne 10
         7: .line 238
            aload 3 /* parameters */
            iload 4 /* i */
            aaload
            ifnonnull 9
         8: .line 239
            aload 3 /* parameters */
            iload 4 /* i */
            ldc "(null)"
            aastore
            goto 10
         9: .line 241
      StackMap locals:
      StackMap stack:
            aload 3 /* parameters */
            iload 4 /* i */
            aload 3 /* parameters */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
        10: .line 234
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 3 /* parameters */
            arraylength
            if_icmplt 4
        end local 4 // int i
        12: .line 246
            aload 1 /* locale */
            ifnonnull 14
        13: .line 247
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            astore 1 /* locale */
        14: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
            aload 1 /* locale */
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
            astore 4 /* bundle */
        start local 4 // java.util.ResourceBundle bundle
        15: .line 255
            goto 18
        end local 4 // java.util.ResourceBundle bundle
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
        16: pop
        17: .line 256
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
            astore 4 /* bundle */
        start local 4 // java.util.ResourceBundle bundle
        18: .line 266
      StackMap locals: java.util.ResourceBundle
      StackMap stack:
            new java.text.MessageFormat
            dup
            aload 4 /* bundle */
            aload 2 /* messageId */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* format */
        start local 5 // java.text.MessageFormat format
        19: .line 267
            aload 5 /* format */
            aload 1 /* locale */
            invokevirtual java.text.MessageFormat.setLocale:(Ljava/util/Locale;)V
        20: .line 270
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 6 /* result */
        start local 6 // java.lang.StringBuffer result
        21: .line 272
            aload 5 /* format */
            aload 3 /* parameters */
            aload 6 /* result */
            new java.text.FieldPosition
            dup
            iconst_0
            invokespecial java.text.FieldPosition.<init>:(I)V
            invokevirtual java.text.MessageFormat.format:([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
            astore 6 /* result */
        22: .line 273
            aload 6 /* result */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.StringBuffer result
        end local 5 // java.text.MessageFormat format
        end local 4 // java.util.ResourceBundle bundle
        end local 3 // java.lang.Object[] parameters
        end local 2 // java.lang.String messageId
        end local 1 // java.util.Locale locale
        end local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lcom/sun/xml/internal/dtdparser/MessageCatalog;
            0   23     1      locale  Ljava/util/Locale;
            0   23     2   messageId  Ljava/lang/String;
            0   23     3  parameters  [Ljava/lang/Object;
            3   12     4           i  I
           15   16     4      bundle  Ljava/util/ResourceBundle;
           18   23     4      bundle  Ljava/util/ResourceBundle;
           19   23     5      format  Ljava/text/MessageFormat;
           21   23     6      result  Ljava/lang/StringBuffer;
      Exception table:
        from    to  target  type
          14    15      16  Class java.util.MissingResourceException
    MethodParameters:
            Name  Flags
      locale      
      messageId   
      parameters  

  public java.util.Locale chooseLocale(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/util/Locale;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
        start local 1 // java.lang.String[] languages
         0: .line 296
            aload 0 /* this */
            aload 1 /* languages */
            invokevirtual com.sun.xml.internal.dtdparser.MessageCatalog.canonicalize:([Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 1 /* languages */
            ifnull 7
         1: .line 297
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 298
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* languages */
            iload 2 /* i */
            aaload
            invokevirtual com.sun.xml.internal.dtdparser.MessageCatalog.isLocaleSupported:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 299
            aload 0 /* this */
            aload 1 /* languages */
            iload 2 /* i */
            aaload
            invokevirtual com.sun.xml.internal.dtdparser.MessageCatalog.getLocale:(Ljava/lang/String;)Ljava/util/Locale;
            areturn
         5: .line 297
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* languages */
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 301
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String[] languages
        end local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/sun/xml/internal/dtdparser/MessageCatalog;
            0    8     1  languages  [Ljava/lang/String;
            2    7     2          i  I
    MethodParameters:
           Name  Flags
      languages  

  private java.lang.String[] canonicalize(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
        start local 1 // java.lang.String[] languages
         0: .line 313
            iconst_0
            istore 2 /* didClone */
        start local 2 // boolean didClone
         1: .line 314
            iconst_0
            istore 3 /* trimCount */
        start local 3 // int trimCount
         2: .line 316
            aload 1 /* languages */
            ifnonnull 4
         3: .line 317
            aload 1 /* languages */
            areturn
         4: .line 319
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 34
         6: .line 320
      StackMap locals: int
      StackMap stack:
            aload 1 /* languages */
            iload 4 /* i */
            aaload
            astore 5 /* lang */
        start local 5 // java.lang.String lang
         7: .line 321
            aload 5 /* lang */
            invokevirtual java.lang.String.length:()I
            istore 6 /* len */
        start local 6 // int len
         8: .line 325
            iload 6 /* len */
            iconst_2
            if_icmpeq 15
            iload 6 /* len */
            iconst_5
            if_icmpeq 15
         9: .line 326
            iload 2 /* didClone */
            ifne 12
        10: .line 327
            aload 1 /* languages */
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 1 /* languages */
        11: .line 328
            iconst_1
            istore 2 /* didClone */
        12: .line 330
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 1 /* languages */
            iload 4 /* i */
            aconst_null
            aastore
        13: .line 331
            iinc 3 /* trimCount */ 1
        14: .line 332
            goto 33
        15: .line 336
      StackMap locals:
      StackMap stack:
            iload 6 /* len */
            iconst_2
            if_icmpne 23
        16: .line 337
            aload 5 /* lang */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 5 /* lang */
        17: .line 338
            aload 5 /* lang */
            aload 1 /* languages */
            iload 4 /* i */
            aaload
            if_acmpeq 33
        18: .line 339
            iload 2 /* didClone */
            ifne 21
        19: .line 340
            aload 1 /* languages */
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 1 /* languages */
        20: .line 341
            iconst_1
            istore 2 /* didClone */
        21: .line 343
      StackMap locals:
      StackMap stack:
            aload 1 /* languages */
            iload 4 /* i */
            aload 5 /* lang */
            aastore
        22: .line 345
            goto 33
        23: .line 349
      StackMap locals:
      StackMap stack:
            iconst_5
            newarray 5
            astore 7 /* buf */
        start local 7 // char[] buf
        24: .line 351
            aload 7 /* buf */
            iconst_0
            aload 5 /* lang */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toLowerCase:(C)C
            castore
        25: .line 352
            aload 7 /* buf */
            iconst_1
            aload 5 /* lang */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toLowerCase:(C)C
            castore
        26: .line 353
            aload 7 /* buf */
            iconst_2
            bipush 95
            castore
        27: .line 354
            aload 7 /* buf */
            iconst_3
            aload 5 /* lang */
            iconst_3
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toUpperCase:(C)C
            castore
        28: .line 355
            aload 7 /* buf */
            iconst_4
            aload 5 /* lang */
            iconst_4
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toUpperCase:(C)C
            castore
        29: .line 356
            iload 2 /* didClone */
            ifne 32
        30: .line 357
            aload 1 /* languages */
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 1 /* languages */
        31: .line 358
            iconst_1
            istore 2 /* didClone */
        32: .line 360
      StackMap locals: char[]
      StackMap stack:
            aload 1 /* languages */
            iload 4 /* i */
            new java.lang.String
            dup
            aload 7 /* buf */
            invokespecial java.lang.String.<init>:([C)V
            aastore
        end local 7 // char[] buf
        end local 6 // int len
        end local 5 // java.lang.String lang
        33: .line 319
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 4 /* i */
            aload 1 /* languages */
            arraylength
            if_icmplt 6
        end local 4 // int i
        35: .line 364
            iload 3 /* trimCount */
            ifeq 45
        36: .line 365
            aload 1 /* languages */
            arraylength
            iload 3 /* trimCount */
            isub
            anewarray java.lang.String
            astore 4 /* temp */
        start local 4 // java.lang.String[] temp
        37: .line 368
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        38: iconst_0
            istore 3 /* trimCount */
            goto 43
        39: .line 370
      StackMap locals: com.sun.xml.internal.dtdparser.MessageCatalog java.lang.String[] int int java.lang.String[] int
      StackMap stack:
            iinc 3 /* trimCount */ 1
        40: .line 369
      StackMap locals:
      StackMap stack:
            aload 1 /* languages */
            iload 5 /* i */
            iload 3 /* trimCount */
            iadd
            aaload
            ifnull 39
        41: .line 371
            aload 4 /* temp */
            iload 5 /* i */
            aload 1 /* languages */
            iload 5 /* i */
            iload 3 /* trimCount */
            iadd
            aaload
            aastore
        42: .line 368
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 5 /* i */
            aload 4 /* temp */
            arraylength
            if_icmplt 40
        44: .line 373
            aload 4 /* temp */
            astore 1 /* languages */
        end local 5 // int i
        end local 4 // java.lang.String[] temp
        45: .line 375
      StackMap locals:
      StackMap stack:
            aload 1 /* languages */
            areturn
        end local 3 // int trimCount
        end local 2 // boolean didClone
        end local 1 // java.lang.String[] languages
        end local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   46     0       this  Lcom/sun/xml/internal/dtdparser/MessageCatalog;
            0   46     1  languages  [Ljava/lang/String;
            1   46     2   didClone  Z
            2   46     3  trimCount  I
            5   35     4          i  I
            7   33     5       lang  Ljava/lang/String;
            8   33     6        len  I
           24   33     7        buf  [C
           37   45     4       temp  [Ljava/lang/String;
           38   45     5          i  I
    MethodParameters:
           Name  Flags
      languages  

  private java.util.Locale getLocale(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Locale;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
        start local 1 // java.lang.String localeName
         0: .line 388
            aload 1 /* localeName */
            bipush 95
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* index */
        start local 4 // int index
         1: .line 389
            iload 4 /* index */
            iconst_m1
            if_icmpne 19
         2: .line 393
            aload 1 /* localeName */
            ldc "de"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 394
            getstatic java.util.Locale.GERMAN:Ljava/util/Locale;
            areturn
         4: .line 395
      StackMap locals: com.sun.xml.internal.dtdparser.MessageCatalog java.lang.String top top int
      StackMap stack:
            aload 1 /* localeName */
            ldc "en"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 396
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            areturn
         6: .line 397
      StackMap locals:
      StackMap stack:
            aload 1 /* localeName */
            ldc "fr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 398
            getstatic java.util.Locale.FRENCH:Ljava/util/Locale;
            areturn
         8: .line 399
      StackMap locals:
      StackMap stack:
            aload 1 /* localeName */
            ldc "it"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 400
            getstatic java.util.Locale.ITALIAN:Ljava/util/Locale;
            areturn
        10: .line 401
      StackMap locals:
      StackMap stack:
            aload 1 /* localeName */
            ldc "ja"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 402
            getstatic java.util.Locale.JAPANESE:Ljava/util/Locale;
            areturn
        12: .line 403
      StackMap locals:
      StackMap stack:
            aload 1 /* localeName */
            ldc "ko"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 404
            getstatic java.util.Locale.KOREAN:Ljava/util/Locale;
            areturn
        14: .line 405
      StackMap locals:
      StackMap stack:
            aload 1 /* localeName */
            ldc "zh"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 406
            getstatic java.util.Locale.CHINESE:Ljava/util/Locale;
            areturn
        16: .line 408
      StackMap locals:
      StackMap stack:
            aload 1 /* localeName */
            astore 2 /* language */
        start local 2 // java.lang.String language
        17: .line 409
            ldc ""
            astore 3 /* country */
        start local 3 // java.lang.String country
        18: .line 410
            goto 25
        end local 3 // java.lang.String country
        end local 2 // java.lang.String language
        19: .line 411
      StackMap locals:
      StackMap stack:
            aload 1 /* localeName */
            ldc "zh_CN"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        20: .line 412
            getstatic java.util.Locale.SIMPLIFIED_CHINESE:Ljava/util/Locale;
            areturn
        21: .line 413
      StackMap locals:
      StackMap stack:
            aload 1 /* localeName */
            ldc "zh_TW"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        22: .line 414
            getstatic java.util.Locale.TRADITIONAL_CHINESE:Ljava/util/Locale;
            areturn
        23: .line 420
      StackMap locals:
      StackMap stack:
            aload 1 /* localeName */
            iconst_0
            iload 4 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* language */
        start local 2 // java.lang.String language
        24: .line 421
            aload 1 /* localeName */
            iload 4 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* country */
        start local 3 // java.lang.String country
        25: .line 424
      StackMap locals: com.sun.xml.internal.dtdparser.MessageCatalog java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            new java.util.Locale
            dup
            aload 2 /* language */
            aload 3 /* country */
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 4 // int index
        end local 3 // java.lang.String country
        end local 2 // java.lang.String language
        end local 1 // java.lang.String localeName
        end local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lcom/sun/xml/internal/dtdparser/MessageCatalog;
            0   26     1  localeName  Ljava/lang/String;
           17   19     2    language  Ljava/lang/String;
           24   26     2    language  Ljava/lang/String;
           18   19     3     country  Ljava/lang/String;
           25   26     3     country  Ljava/lang/String;
            1   26     4       index  I
    MethodParameters:
            Name  Flags
      localeName  

  public boolean isLocaleSupported(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
        start local 1 // java.lang.String localeName
         0: .line 461
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.cache:Ljava/util/Hashtable;
            aload 1 /* localeName */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 2 /* value */
        start local 2 // java.lang.Boolean value
         1: .line 463
            aload 2 /* value */
            ifnull 3
         2: .line 464
            aload 2 /* value */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
         3: .line 471
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aconst_null
            astore 3 /* loader */
        start local 3 // java.lang.ClassLoader loader
         4: .line 474
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.bundleName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* localeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         5: .line 478
            aload 4 /* name */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         6: .line 479
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.cache:Ljava/util/Hashtable;
            aload 1 /* localeName */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 480
            iconst_1
            ireturn
         8: .line 481
      StackMap locals: com.sun.xml.internal.dtdparser.MessageCatalog java.lang.String java.lang.Boolean java.lang.ClassLoader java.lang.String
      StackMap stack: java.lang.Exception
            pop
         9: .line 487
            aload 3 /* loader */
            ifnonnull 11
        10: .line 488
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* loader */
        11: .line 490
      StackMap locals:
      StackMap stack:
            aload 4 /* name */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 4 /* name */
        12: .line 491
            new java.lang.StringBuilder
            dup
            aload 4 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".properties"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* name */
        13: .line 492
            aload 3 /* loader */
            ifnonnull 16
        14: .line 493
            aload 4 /* name */
            invokestatic java.lang.ClassLoader.getSystemResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 5 /* in */
        start local 5 // java.io.InputStream in
        15: goto 17
        end local 5 // java.io.InputStream in
        16: .line 495
      StackMap locals:
      StackMap stack:
            aload 3 /* loader */
            aload 4 /* name */
            invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 5 /* in */
        start local 5 // java.io.InputStream in
        17: .line 496
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 5 /* in */
            ifnull 20
        18: .line 497
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.cache:Ljava/util/Hashtable;
            aload 1 /* localeName */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 498
            iconst_1
            ireturn
        20: .line 501
      StackMap locals:
      StackMap stack:
            aload 1 /* localeName */
            bipush 95
            invokevirtual java.lang.String.indexOf:(I)I
            istore 6 /* index */
        start local 6 // int index
        21: .line 503
            iload 6 /* index */
            ifle 24
        22: .line 504
            aload 1 /* localeName */
            iconst_0
            iload 6 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* localeName */
        end local 6 // int index
        end local 5 // java.io.InputStream in
        end local 4 // java.lang.String name
        23: .line 473
            goto 4
        24: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.xml.internal.dtdparser.MessageCatalog.cache:Ljava/util/Hashtable;
            aload 1 /* localeName */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 513
            iconst_0
            ireturn
        end local 3 // java.lang.ClassLoader loader
        end local 2 // java.lang.Boolean value
        end local 1 // java.lang.String localeName
        end local 0 // com.sun.xml.internal.dtdparser.MessageCatalog this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lcom/sun/xml/internal/dtdparser/MessageCatalog;
            0   26     1  localeName  Ljava/lang/String;
            1   26     2       value  Ljava/lang/Boolean;
            4   26     3      loader  Ljava/lang/ClassLoader;
            5   23     4        name  Ljava/lang/String;
           15   16     5          in  Ljava/io/InputStream;
           17   23     5          in  Ljava/io/InputStream;
           21   23     6       index  I
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      localeName  
}
SourceFile: "MessageCatalog.java"