public class sun.security.util.LocalizedMessage
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.util.LocalizedMessage
  super_class: java.lang.Object
{
  private static final sun.security.util.Resources RESOURCES;
    descriptor: Lsun/security/util/Resources;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.String key;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 45
            new sun.security.util.Resources
            dup
            invokespecial sun.security.util.Resources.<init>:()V
            putstatic sun.security.util.LocalizedMessage.RESOURCES:Lsun/security/util/Resources;
            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 // sun.security.util.LocalizedMessage this
        start local 1 // java.lang.String key
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.util.LocalizedMessage.key:Ljava/lang/String;
         2: .line 58
            return
        end local 1 // java.lang.String key
        end local 0 // sun.security.util.LocalizedMessage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/util/LocalizedMessage;
            0    3     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.String formatLocalized(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.util.LocalizedMessage this
        start local 1 // java.lang.Object[] arguments
         0: .line 70
            aload 0 /* this */
            getfield sun.security.util.LocalizedMessage.key:Ljava/lang/String;
            aload 1 /* arguments */
            invokestatic sun.security.util.LocalizedMessage.getLocalized:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object[] arguments
        end local 0 // sun.security.util.LocalizedMessage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lsun/security/util/LocalizedMessage;
            0    1     1  arguments  [Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      arguments  

  public java.lang.String formatNonlocalized(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.util.LocalizedMessage this
        start local 1 // java.lang.Object[] arguments
         0: .line 83
            aload 0 /* this */
            getfield sun.security.util.LocalizedMessage.key:Ljava/lang/String;
            aload 1 /* arguments */
            invokestatic sun.security.util.LocalizedMessage.getNonlocalized:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object[] arguments
        end local 0 // sun.security.util.LocalizedMessage this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lsun/security/util/LocalizedMessage;
            0    1     1  arguments  [Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      arguments  

  public static java.lang.String getNonlocalized(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=5, locals=8, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.lang.Object[] arguments
         0: .line 99
            getstatic sun.security.util.LocalizedMessage.RESOURCES:Lsun/security/util/Resources;
            aload 0 /* key */
            invokevirtual sun.security.util.Resources.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* value */
        start local 2 // java.lang.String value
         1: .line 100
            aload 1 /* arguments */
            ifnull 2
            aload 1 /* arguments */
            arraylength
            ifne 3
         2: .line 101
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* value */
            areturn
         3: .line 105
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         4: .line 107
            goto 18
        start local 4 // int nextBraceIndex
         5: .line 109
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* value */
            iconst_0
            iload 4 /* nextBraceIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* firstPart */
        start local 5 // java.lang.String firstPart
         6: .line 110
            aload 3 /* sb */
            aload 5 /* firstPart */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 111
            aload 2 /* value */
            iload 4 /* nextBraceIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* value */
         8: .line 114
            aload 2 /* value */
            bipush 125
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* nextBraceIndex */
         9: .line 115
            iload 4 /* nextBraceIndex */
            ifge 11
        10: .line 119
            new java.lang.RuntimeException
            dup
            ldc "Unmatched braces"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 121
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* value */
            iconst_0
            iload 4 /* nextBraceIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* indexStr */
        start local 6 // java.lang.String indexStr
        12: .line 123
            aload 6 /* indexStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 7 /* index */
        start local 7 // int index
        13: .line 124
            aload 3 /* sb */
            aload 1 /* arguments */
            iload 7 /* index */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 7 // int index
        14: .line 125
            goto 17
      StackMap locals: java.lang.String java.lang.Object[] java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String
      StackMap stack: java.lang.NumberFormatException
        15: pop
        16: .line 127
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "not an integer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* indexStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 129
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            iload 4 /* nextBraceIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* value */
        end local 6 // java.lang.String indexStr
        end local 5 // java.lang.String firstPart
        end local 4 // int nextBraceIndex
        18: .line 107
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            bipush 123
            invokevirtual java.lang.String.indexOf:(I)I
            dup
            istore 4 /* nextBraceIndex */
        start local 4 // int nextBraceIndex
        19: ifge 5
        20: .line 131
            aload 3 /* sb */
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 132
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int nextBraceIndex
        end local 3 // java.lang.StringBuilder sb
        end local 2 // java.lang.String value
        end local 1 // java.lang.Object[] arguments
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0             key  Ljava/lang/String;
            0   22     1       arguments  [Ljava/lang/Object;
            1   22     2           value  Ljava/lang/String;
            4   22     3              sb  Ljava/lang/StringBuilder;
            5   18     4  nextBraceIndex  I
           19   22     4  nextBraceIndex  I
            6   18     5       firstPart  Ljava/lang/String;
           12   18     6        indexStr  Ljava/lang/String;
           13   14     7           index  I
      Exception table:
        from    to  target  type
          12    14      15  Class java.lang.NumberFormatException
    MethodParameters:
           Name  Flags
      key        
      arguments  

  public static java.lang.String getLocalized(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=4, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.lang.Object[] arguments
         0: .line 147
            aload 0 /* key */
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* value */
        start local 2 // java.lang.String value
         1: .line 148
            aload 1 /* arguments */
            ifnonnull 3
         2: .line 149
            aload 2 /* value */
            areturn
         3: .line 151
      StackMap locals: java.lang.String
      StackMap stack:
            new java.text.MessageFormat
            dup
            aload 2 /* value */
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         4: .line 152
            aload 3 /* form */
            aload 1 /* arguments */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 3 // java.text.MessageFormat form
        end local 2 // java.lang.String value
        end local 1 // java.lang.Object[] arguments
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0        key  Ljava/lang/String;
            0    5     1  arguments  [Ljava/lang/Object;
            1    5     2      value  Ljava/lang/String;
            4    5     3       form  Ljava/text/MessageFormat;
    MethodParameters:
           Name  Flags
      key        
      arguments  
}
SourceFile: "LocalizedMessage.java"