public class org.springframework.context.support.ReloadableResourceBundleMessageSource extends org.springframework.context.support.AbstractResourceBasedMessageSource implements org.springframework.context.ResourceLoaderAware
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.context.support.ReloadableResourceBundleMessageSource
  super_class: org.springframework.context.support.AbstractResourceBasedMessageSource
{
  private static final java.lang.String PROPERTIES_SUFFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ".properties"

  private static final java.lang.String XML_SUFFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ".xml"

  private java.util.Properties fileEncodings;
    descriptor: Ljava/util/Properties;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private boolean concurrentRefresh;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.springframework.util.PropertiesPersister propertiesPersister;
    descriptor: Lorg/springframework/util/PropertiesPersister;
    flags: (0x0002) ACC_PRIVATE

  private org.springframework.core.io.ResourceLoader resourceLoader;
    descriptor: Lorg/springframework/core/io/ResourceLoader;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.concurrent.ConcurrentMap<java.lang.String, java.util.Map<java.util.Locale, java.util.List<java.lang.String>>> cachedFilenames;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/util/Map<Ljava/util/Locale;Ljava/util/List<Ljava/lang/String;>;>;>;

  private final java.util.concurrent.ConcurrentMap<java.lang.String, org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder> cachedProperties;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;>;

  private final java.util.concurrent.ConcurrentMap<java.util.Locale, org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder> cachedMergedProperties;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/util/Locale;Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
         0: .line 88
            aload 0 /* this */
            invokespecial org.springframework.context.support.AbstractResourceBasedMessageSource.<init>:()V
         1: .line 99
            aload 0 /* this */
            iconst_1
            putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.concurrentRefresh:Z
         2: .line 101
            aload 0 /* this */
            new org.springframework.util.DefaultPropertiesPersister
            dup
            invokespecial org.springframework.util.DefaultPropertiesPersister.<init>:()V
            putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.propertiesPersister:Lorg/springframework/util/PropertiesPersister;
         3: .line 103
            aload 0 /* this */
            new org.springframework.core.io.DefaultResourceLoader
            dup
            invokespecial org.springframework.core.io.DefaultResourceLoader.<init>:()V
            putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
         4: .line 106
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedFilenames:Ljava/util/concurrent/ConcurrentMap;
         5: .line 109
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
         6: .line 112
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedMergedProperties:Ljava/util/concurrent/ConcurrentMap;
         7: .line 88
            return
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;

  public void setFileEncodings(java.util.Properties);
    descriptor: (Ljava/util/Properties;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // java.util.Properties fileEncodings
         0: .line 126
            aload 0 /* this */
            aload 1 /* fileEncodings */
            putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.fileEncodings:Ljava/util/Properties;
         1: .line 127
            return
        end local 1 // java.util.Properties fileEncodings
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0    2     1  fileEncodings  Ljava/util/Properties;
    MethodParameters:
               Name  Flags
      fileEncodings  

  public void setConcurrentRefresh(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // boolean concurrentRefresh
         0: .line 141
            aload 0 /* this */
            iload 1 /* concurrentRefresh */
            putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.concurrentRefresh:Z
         1: .line 142
            return
        end local 1 // boolean concurrentRefresh
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0    2     1  concurrentRefresh  Z
    MethodParameters:
                   Name  Flags
      concurrentRefresh  

  public void setPropertiesPersister(org.springframework.util.PropertiesPersister);
    descriptor: (Lorg/springframework/util/PropertiesPersister;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // org.springframework.util.PropertiesPersister propertiesPersister
         0: .line 150
            aload 0 /* this */
         1: .line 151
            aload 1 /* propertiesPersister */
            ifnull 2
            aload 1 /* propertiesPersister */
            goto 3
      StackMap locals:
      StackMap stack: org.springframework.context.support.ReloadableResourceBundleMessageSource
         2: new org.springframework.util.DefaultPropertiesPersister
            dup
            invokespecial org.springframework.util.DefaultPropertiesPersister.<init>:()V
         3: .line 150
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.util.PropertiesPersister
      StackMap stack: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.util.PropertiesPersister
            putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.propertiesPersister:Lorg/springframework/util/PropertiesPersister;
         4: .line 152
            return
        end local 1 // org.springframework.util.PropertiesPersister propertiesPersister
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0    5     1  propertiesPersister  Lorg/springframework/util/PropertiesPersister;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                     Name  Flags
      propertiesPersister  

  public void setResourceLoader(org.springframework.core.io.ResourceLoader);
    descriptor: (Lorg/springframework/core/io/ResourceLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // org.springframework.core.io.ResourceLoader resourceLoader
         0: .line 165
            aload 0 /* this */
            aload 1 /* resourceLoader */
            ifnull 1
            aload 1 /* resourceLoader */
            goto 2
      StackMap locals:
      StackMap stack: org.springframework.context.support.ReloadableResourceBundleMessageSource
         1: new org.springframework.core.io.DefaultResourceLoader
            dup
            invokespecial org.springframework.core.io.DefaultResourceLoader.<init>:()V
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.core.io.ResourceLoader
      StackMap stack: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.core.io.ResourceLoader
         2: putfield org.springframework.context.support.ReloadableResourceBundleMessageSource.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
         3: .line 166
            return
        end local 1 // org.springframework.core.io.ResourceLoader resourceLoader
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0    4     1  resourceLoader  Lorg/springframework/core/io/ResourceLoader;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      resourceLoader  

  protected java.lang.String resolveCodeWithoutArguments(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // java.lang.String code
        start local 2 // java.util.Locale locale
         0: .line 175
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getCacheMillis:()J
            lconst_0
            lcmp
            ifge 5
         1: .line 176
            aload 0 /* this */
            aload 2 /* locale */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getMergedProperties:(Ljava/util/Locale;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
            astore 3 /* propHolder */
        start local 3 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
         2: .line 177
            aload 3 /* propHolder */
            aload 1 /* code */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* result */
        start local 4 // java.lang.String result
         3: .line 178
            aload 4 /* result */
            ifnull 16
         4: .line 179
            aload 4 /* result */
            areturn
        end local 4 // java.lang.String result
        end local 3 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
         5: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getBasenameSet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* basename */
        start local 3 // java.lang.String basename
         7: .line 184
            aload 0 /* this */
            aload 3 /* basename */
            aload 2 /* locale */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.calculateAllFilenames:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
            astore 5 /* filenames */
        start local 5 // java.util.List filenames
         8: .line 185
            aload 5 /* filenames */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* filename */
        start local 6 // java.lang.String filename
        10: .line 186
            aload 0 /* this */
            aload 6 /* filename */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getProperties:(Ljava/lang/String;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
            astore 8 /* propHolder */
        start local 8 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
        11: .line 187
            aload 8 /* propHolder */
            aload 1 /* code */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* result */
        start local 9 // java.lang.String result
        12: .line 188
            aload 9 /* result */
            ifnull 14
        13: .line 189
            aload 9 /* result */
            areturn
        end local 9 // java.lang.String result
        end local 8 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
        end local 6 // java.lang.String filename
        14: .line 185
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 5 // java.util.List filenames
        end local 3 // java.lang.String basename
        15: .line 183
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        16: .line 194
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String code
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0   17     1        code  Ljava/lang/String;
            0   17     2      locale  Ljava/util/Locale;
            2    5     3  propHolder  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
            3    5     4      result  Ljava/lang/String;
            7   15     3    basename  Ljava/lang/String;
            8   15     5   filenames  Ljava/util/List<Ljava/lang/String;>;
           10   14     6    filename  Ljava/lang/String;
           11   14     8  propHolder  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
           12   14     9      result  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      code    
      locale  

  protected java.text.MessageFormat resolveCode(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/text/MessageFormat;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // java.lang.String code
        start local 2 // java.util.Locale locale
         0: .line 204
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getCacheMillis:()J
            lconst_0
            lcmp
            ifge 5
         1: .line 205
            aload 0 /* this */
            aload 2 /* locale */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getMergedProperties:(Ljava/util/Locale;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
            astore 3 /* propHolder */
        start local 3 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
         2: .line 206
            aload 3 /* propHolder */
            aload 1 /* code */
            aload 2 /* locale */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getMessageFormat:(Ljava/lang/String;Ljava/util/Locale;)Ljava/text/MessageFormat;
            astore 4 /* result */
        start local 4 // java.text.MessageFormat result
         3: .line 207
            aload 4 /* result */
            ifnull 16
         4: .line 208
            aload 4 /* result */
            areturn
        end local 4 // java.text.MessageFormat result
        end local 3 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
         5: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getBasenameSet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* basename */
        start local 3 // java.lang.String basename
         7: .line 213
            aload 0 /* this */
            aload 3 /* basename */
            aload 2 /* locale */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.calculateAllFilenames:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
            astore 5 /* filenames */
        start local 5 // java.util.List filenames
         8: .line 214
            aload 5 /* filenames */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* filename */
        start local 6 // java.lang.String filename
        10: .line 215
            aload 0 /* this */
            aload 6 /* filename */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getProperties:(Ljava/lang/String;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
            astore 8 /* propHolder */
        start local 8 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
        11: .line 216
            aload 8 /* propHolder */
            aload 1 /* code */
            aload 2 /* locale */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getMessageFormat:(Ljava/lang/String;Ljava/util/Locale;)Ljava/text/MessageFormat;
            astore 9 /* result */
        start local 9 // java.text.MessageFormat result
        12: .line 217
            aload 9 /* result */
            ifnull 14
        13: .line 218
            aload 9 /* result */
            areturn
        end local 9 // java.text.MessageFormat result
        end local 8 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
        end local 6 // java.lang.String filename
        14: .line 214
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 5 // java.util.List filenames
        end local 3 // java.lang.String basename
        15: .line 212
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        16: .line 223
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String code
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0   17     1        code  Ljava/lang/String;
            0   17     2      locale  Ljava/util/Locale;
            2    5     3  propHolder  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
            3    5     4      result  Ljava/text/MessageFormat;
            7   15     3    basename  Ljava/lang/String;
            8   15     5   filenames  Ljava/util/List<Ljava/lang/String;>;
           10   14     6    filename  Ljava/lang/String;
           11   14     8  propHolder  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
           12   14     9      result  Ljava/text/MessageFormat;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      code    
      locale  

  protected org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder getMergedProperties(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=12, args_size=2
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // java.util.Locale locale
         0: .line 236
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedMergedProperties:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* locale */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
            astore 2 /* mergedHolder */
        start local 2 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder mergedHolder
         1: .line 237
            aload 2 /* mergedHolder */
            ifnull 3
         2: .line 238
            aload 2 /* mergedHolder */
            areturn
         3: .line 240
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.newProperties:()Ljava/util/Properties;
            astore 3 /* mergedProps */
        start local 3 // java.util.Properties mergedProps
         4: .line 241
            ldc -1
            lstore 4 /* latestTimestamp */
        start local 4 // long latestTimestamp
         5: .line 242
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getBasenameSet:()Ljava/util/Set;
            invokestatic org.springframework.util.StringUtils.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
            astore 6 /* basenames */
        start local 6 // java.lang.String[] basenames
         6: .line 243
            aload 6 /* basenames */
            arraylength
            iconst_1
            isub
            istore 7 /* i */
        start local 7 // int i
         7: goto 20
         8: .line 244
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.util.Locale org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder java.util.Properties long java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            aload 6 /* basenames */
            iload 7 /* i */
            aaload
            aload 1 /* locale */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.calculateAllFilenames:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
            astore 8 /* filenames */
        start local 8 // java.util.List filenames
         9: .line 245
            aload 8 /* filenames */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 9 /* j */
        start local 9 // int j
        10: goto 18
        11: .line 246
      StackMap locals: java.util.List int
      StackMap stack:
            aload 8 /* filenames */
            iload 9 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* filename */
        start local 10 // java.lang.String filename
        12: .line 247
            aload 0 /* this */
            aload 10 /* filename */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getProperties:(Ljava/lang/String;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
            astore 11 /* propHolder */
        start local 11 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
        13: .line 248
            aload 11 /* propHolder */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getProperties:()Ljava/util/Properties;
            ifnull 17
        14: .line 249
            aload 3 /* mergedProps */
            aload 11 /* propHolder */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getProperties:()Ljava/util/Properties;
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
        15: .line 250
            aload 11 /* propHolder */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getFileTimestamp:()J
            lload 4 /* latestTimestamp */
            lcmp
            ifle 17
        16: .line 251
            aload 11 /* propHolder */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getFileTimestamp:()J
            lstore 4 /* latestTimestamp */
        end local 11 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
        end local 10 // java.lang.String filename
        17: .line 245
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ -1
      StackMap locals:
      StackMap stack:
        18: iload 9 /* j */
            ifge 11
        end local 9 // int j
        end local 8 // java.util.List filenames
        19: .line 243
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            ifge 8
        end local 7 // int i
        21: .line 256
            new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
            dup
            aload 0 /* this */
            aload 3 /* mergedProps */
            lload 4 /* latestTimestamp */
            invokespecial org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.<init>:(Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;Ljava/util/Properties;J)V
            astore 2 /* mergedHolder */
        22: .line 257
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedMergedProperties:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* locale */
            aload 2 /* mergedHolder */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
            astore 7 /* existing */
        start local 7 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder existing
        23: .line 258
            aload 7 /* existing */
            ifnull 25
        24: .line 259
            aload 7 /* existing */
            astore 2 /* mergedHolder */
        25: .line 261
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.util.Locale org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder java.util.Properties long java.lang.String[] org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
      StackMap stack:
            aload 2 /* mergedHolder */
            areturn
        end local 7 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder existing
        end local 6 // java.lang.String[] basenames
        end local 4 // long latestTimestamp
        end local 3 // java.util.Properties mergedProps
        end local 2 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder mergedHolder
        end local 1 // java.util.Locale locale
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   26     0             this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0   26     1           locale  Ljava/util/Locale;
            1   26     2     mergedHolder  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
            4   26     3      mergedProps  Ljava/util/Properties;
            5   26     4  latestTimestamp  J
            6   26     6        basenames  [Ljava/lang/String;
            7   21     7                i  I
            9   19     8        filenames  Ljava/util/List<Ljava/lang/String;>;
           10   19     9                j  I
           12   17    10         filename  Ljava/lang/String;
           13   17    11       propHolder  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
           23   26     7         existing  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
    MethodParameters:
        Name  Flags
      locale  

  protected java.util.List<java.lang.String> calculateAllFilenames(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // java.lang.String basename
        start local 2 // java.util.Locale locale
         0: .line 275
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedFilenames:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* basename */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* localeMap */
        start local 3 // java.util.Map localeMap
         1: .line 276
            aload 3 /* localeMap */
            ifnull 5
         2: .line 277
            aload 3 /* localeMap */
            aload 2 /* locale */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* filenames */
        start local 4 // java.util.List filenames
         3: .line 278
            aload 4 /* filenames */
            ifnull 5
         4: .line 279
            aload 4 /* filenames */
            areturn
        end local 4 // java.util.List filenames
         5: .line 282
      StackMap locals: java.util.Map
      StackMap stack:
            new java.util.ArrayList
            dup
            bipush 7
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* filenames */
        start local 4 // java.util.List filenames
         6: .line 283
            aload 4 /* filenames */
            aload 0 /* this */
            aload 1 /* basename */
            aload 2 /* locale */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.calculateFilenamesForLocale:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 284
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.isFallbackToSystemLocale:()Z
            ifeq 14
            aload 2 /* locale */
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifne 14
         8: .line 285
            aload 0 /* this */
            aload 1 /* basename */
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.calculateFilenamesForLocale:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
            astore 5 /* fallbackFilenames */
        start local 5 // java.util.List fallbackFilenames
         9: .line 286
            aload 5 /* fallbackFilenames */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 13
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale java.util.Map java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* fallbackFilename */
        start local 6 // java.lang.String fallbackFilename
        11: .line 287
            aload 4 /* filenames */
            aload 6 /* fallbackFilename */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 289
            aload 4 /* filenames */
            aload 6 /* fallbackFilename */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String fallbackFilename
        13: .line 286
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 5 // java.util.List fallbackFilenames
        14: .line 293
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale java.util.Map java.util.List
      StackMap stack:
            aload 4 /* filenames */
            aload 1 /* basename */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 294
            aload 3 /* localeMap */
            ifnonnull 20
        16: .line 295
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            astore 3 /* localeMap */
        17: .line 296
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedFilenames:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* basename */
            aload 3 /* localeMap */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 5 /* existing */
        start local 5 // java.util.Map existing
        18: .line 297
            aload 5 /* existing */
            ifnull 20
        19: .line 298
            aload 5 /* existing */
            astore 3 /* localeMap */
        end local 5 // java.util.Map existing
        20: .line 301
      StackMap locals:
      StackMap stack:
            aload 3 /* localeMap */
            aload 2 /* locale */
            aload 4 /* filenames */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 302
            aload 4 /* filenames */
            areturn
        end local 4 // java.util.List filenames
        end local 3 // java.util.Map localeMap
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String basename
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0   22     1           basename  Ljava/lang/String;
            0   22     2             locale  Ljava/util/Locale;
            1   22     3          localeMap  Ljava/util/Map<Ljava/util/Locale;Ljava/util/List<Ljava/lang/String;>;>;
            3    5     4          filenames  Ljava/util/List<Ljava/lang/String;>;
            6   22     4          filenames  Ljava/util/List<Ljava/lang/String;>;
            9   14     5  fallbackFilenames  Ljava/util/List<Ljava/lang/String;>;
           11   13     6   fallbackFilename  Ljava/lang/String;
           18   20     5           existing  Ljava/util/Map<Ljava/util/Locale;Ljava/util/List<Ljava/lang/String;>;>;
    Signature: (Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
          Name  Flags
      basename  
      locale    

  protected java.util.List<java.lang.String> calculateFilenamesForLocale(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // java.lang.String basename
        start local 2 // java.util.Locale locale
         0: .line 316
            new java.util.ArrayList
            dup
            iconst_3
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* result */
        start local 3 // java.util.List result
         1: .line 317
            aload 2 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            astore 4 /* language */
        start local 4 // java.lang.String language
         2: .line 318
            aload 2 /* locale */
            invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
            astore 5 /* country */
        start local 5 // java.lang.String country
         3: .line 319
            aload 2 /* locale */
            invokevirtual java.util.Locale.getVariant:()Ljava/lang/String;
            astore 6 /* variant */
        start local 6 // java.lang.String variant
         4: .line 320
            new java.lang.StringBuilder
            dup
            aload 1 /* basename */
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 7 /* temp */
        start local 7 // java.lang.StringBuilder temp
         5: .line 322
            aload 7 /* temp */
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 323
            aload 4 /* language */
            invokevirtual java.lang.String.length:()I
            ifle 9
         7: .line 324
            aload 7 /* temp */
            aload 4 /* language */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 325
            aload 3 /* result */
            iconst_0
            aload 7 /* temp */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
         9: .line 328
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String java.util.Locale java.util.List java.lang.String java.lang.String java.lang.String java.lang.StringBuilder
      StackMap stack:
            aload 7 /* temp */
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 329
            aload 5 /* country */
            invokevirtual java.lang.String.length:()I
            ifle 13
        11: .line 330
            aload 7 /* temp */
            aload 5 /* country */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 331
            aload 3 /* result */
            iconst_0
            aload 7 /* temp */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        13: .line 334
      StackMap locals:
      StackMap stack:
            aload 6 /* variant */
            invokevirtual java.lang.String.length:()I
            ifle 16
            aload 4 /* language */
            invokevirtual java.lang.String.length:()I
            ifgt 14
            aload 5 /* country */
            invokevirtual java.lang.String.length:()I
            ifle 16
        14: .line 335
      StackMap locals:
      StackMap stack:
            aload 7 /* temp */
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 6 /* variant */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 336
            aload 3 /* result */
            iconst_0
            aload 7 /* temp */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        16: .line 339
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 7 // java.lang.StringBuilder temp
        end local 6 // java.lang.String variant
        end local 5 // java.lang.String country
        end local 4 // java.lang.String language
        end local 3 // java.util.List result
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String basename
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0   17     1  basename  Ljava/lang/String;
            0   17     2    locale  Ljava/util/Locale;
            1   17     3    result  Ljava/util/List<Ljava/lang/String;>;
            2   17     4  language  Ljava/lang/String;
            3   17     5   country  Ljava/lang/String;
            4   17     6   variant  Ljava/lang/String;
            5   17     7      temp  Ljava/lang/StringBuilder;
    Signature: (Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
          Name  Flags
      basename  
      locale    

  protected org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder getProperties(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // java.lang.String filename
         0: .line 350
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* filename */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
            astore 2 /* propHolder */
        start local 2 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
         1: .line 351
            ldc -2
            lstore 3 /* originalTimestamp */
        start local 3 // long originalTimestamp
         2: .line 353
            aload 2 /* propHolder */
            ifnull 6
         3: .line 354
            aload 2 /* propHolder */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getRefreshTimestamp:()J
            lstore 3 /* originalTimestamp */
         4: .line 355
            lload 3 /* originalTimestamp */
            ldc -1
            lcmp
            ifeq 5
            lload 3 /* originalTimestamp */
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getCacheMillis:()J
            lsub
            lcmp
            ifle 10
         5: .line 357
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder long
      StackMap stack:
            aload 2 /* propHolder */
            areturn
         6: .line 361
      StackMap locals:
      StackMap stack:
            new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
            dup
            aload 0 /* this */
            invokespecial org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.<init>:(Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;)V
            astore 2 /* propHolder */
         7: .line 362
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* filename */
            aload 2 /* propHolder */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
            astore 5 /* existingHolder */
        start local 5 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder existingHolder
         8: .line 363
            aload 5 /* existingHolder */
            ifnull 10
         9: .line 364
            aload 5 /* existingHolder */
            astore 2 /* propHolder */
        end local 5 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder existingHolder
        10: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.concurrentRefresh:Z
            ifeq 13
            aload 2 /* propHolder */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getRefreshTimestamp:()J
            lconst_0
            lcmp
            iflt 13
        11: .line 371
            aload 2 /* propHolder */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.refreshLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.tryLock:()Z
            ifne 14
        12: .line 374
            aload 2 /* propHolder */
            areturn
        13: .line 378
      StackMap locals:
      StackMap stack:
            aload 2 /* propHolder */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.refreshLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
        14: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* filename */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
            astore 5 /* existingHolder */
        start local 5 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder existingHolder
        15: .line 382
            aload 5 /* existingHolder */
            ifnull 19
            aload 5 /* existingHolder */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getRefreshTimestamp:()J
            lload 3 /* originalTimestamp */
            lcmp
            ifle 19
        16: .line 383
            aload 5 /* existingHolder */
            astore 7
        17: .line 388
            aload 2 /* propHolder */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.refreshLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        18: .line 383
            aload 7
            areturn
        19: .line 385
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
      StackMap stack:
            aload 0 /* this */
            aload 1 /* filename */
            aload 2 /* propHolder */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.refreshProperties:(Ljava/lang/String;Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
            astore 7
        20: .line 388
            aload 2 /* propHolder */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.refreshLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        21: .line 385
            aload 7
            areturn
        end local 5 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder existingHolder
        22: .line 387
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource java.lang.String org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder long
      StackMap stack: java.lang.Throwable
            astore 6
        23: .line 388
            aload 2 /* propHolder */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.refreshLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        24: .line 389
            aload 6
            athrow
        end local 3 // long originalTimestamp
        end local 2 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
        end local 1 // java.lang.String filename
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0               this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0   25     1           filename  Ljava/lang/String;
            1   25     2         propHolder  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
            2   25     3  originalTimestamp  J
            8   10     5     existingHolder  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
           15   22     5     existingHolder  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
      Exception table:
        from    to  target  type
          14    17      22  any
          19    20      22  any
    MethodParameters:
          Name  Flags
      filename  

  protected org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder refreshProperties(java.lang.String, org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder);
    descriptor: (Ljava/lang/String;Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;)Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // java.lang.String filename
        start local 2 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
         0: .line 400
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getCacheMillis:()J
            lconst_0
            lcmp
            ifge 1
            ldc -1
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic java.lang.System.currentTimeMillis:()J
      StackMap locals:
      StackMap stack: long
         2: lstore 3 /* refreshTimestamp */
        start local 3 // long refreshTimestamp
         3: .line 402
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
            new java.lang.StringBuilder
            dup
            aload 1 /* filename */
            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;
            invokeinterface org.springframework.core.io.ResourceLoader.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
            astore 5 /* resource */
        start local 5 // org.springframework.core.io.Resource resource
         4: .line 403
            aload 5 /* resource */
            invokeinterface org.springframework.core.io.Resource.exists:()Z
            ifne 6
         5: .line 404
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
            new java.lang.StringBuilder
            dup
            aload 1 /* filename */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".xml"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.springframework.core.io.ResourceLoader.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
            astore 5 /* resource */
         6: .line 407
      StackMap locals: long org.springframework.core.io.Resource
      StackMap stack:
            aload 5 /* resource */
            invokeinterface org.springframework.core.io.Resource.exists:()Z
            ifeq 28
         7: .line 408
            ldc -1
            lstore 6 /* fileTimestamp */
        start local 6 // long fileTimestamp
         8: .line 409
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getCacheMillis:()J
            lconst_0
            lcmp
            iflt 20
         9: .line 412
            aload 5 /* resource */
            invokeinterface org.springframework.core.io.Resource.lastModified:()J
            lstore 6 /* fileTimestamp */
        10: .line 413
            aload 2 /* propHolder */
            ifnull 20
            aload 2 /* propHolder */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.getFileTimestamp:()J
            lload 6 /* fileTimestamp */
            lcmp
            ifne 20
        11: .line 414
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 13
        12: .line 415
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Re-caching properties for filename ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* filename */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] - file hasn't been modified"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        13: .line 417
      StackMap locals: long
      StackMap stack:
            aload 2 /* propHolder */
            lload 3 /* refreshTimestamp */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.setRefreshTimestamp:(J)V
        14: .line 418
            aload 2 /* propHolder */
        15: areturn
        16: .line 421
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 8 /* ex */
        start local 8 // java.io.IOException ex
        17: .line 423
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 19
        18: .line 424
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 5 /* resource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " could not be resolved in the file system - assuming that it hasn't changed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 8 /* ex */
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        19: .line 426
      StackMap locals: java.io.IOException
      StackMap stack:
            ldc -1
            lstore 6 /* fileTimestamp */
        end local 8 // java.io.IOException ex
        20: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* resource */
            aload 1 /* filename */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.loadProperties:(Lorg/springframework/core/io/Resource;Ljava/lang/String;)Ljava/util/Properties;
            astore 8 /* props */
        start local 8 // java.util.Properties props
        21: .line 431
            new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
            dup
            aload 0 /* this */
            aload 8 /* props */
            lload 6 /* fileTimestamp */
            invokespecial org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.<init>:(Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;Ljava/util/Properties;J)V
            astore 2 /* propHolder */
        end local 8 // java.util.Properties props
        22: .line 432
            goto 31
        23: .line 433
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 8 /* ex */
        start local 8 // java.io.IOException ex
        24: .line 434
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
            ifeq 26
        25: .line 435
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Could not parse properties file ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* resource */
            invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 8 /* ex */
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        26: .line 438
      StackMap locals: java.io.IOException
      StackMap stack:
            new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
            dup
            aload 0 /* this */
            invokespecial org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.<init>:(Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;)V
            astore 2 /* propHolder */
        end local 8 // java.io.IOException ex
        end local 6 // long fileTimestamp
        27: .line 440
            goto 31
        28: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 30
        29: .line 445
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "No properties file found for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* filename */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] - neither plain properties nor XML"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        30: .line 448
      StackMap locals:
      StackMap stack:
            new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
            dup
            aload 0 /* this */
            invokespecial org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.<init>:(Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;)V
            astore 2 /* propHolder */
        31: .line 451
      StackMap locals:
      StackMap stack:
            aload 2 /* propHolder */
            lload 3 /* refreshTimestamp */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder.setRefreshTimestamp:(J)V
        32: .line 452
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* filename */
            aload 2 /* propHolder */
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 453
            aload 2 /* propHolder */
            areturn
        end local 5 // org.springframework.core.io.Resource resource
        end local 3 // long refreshTimestamp
        end local 2 // org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder propHolder
        end local 1 // java.lang.String filename
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   34     0              this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0   34     1          filename  Ljava/lang/String;
            0   34     2        propHolder  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource$PropertiesHolder;
            3   34     3  refreshTimestamp  J
            4   34     5          resource  Lorg/springframework/core/io/Resource;
            8   27     6     fileTimestamp  J
           17   20     8                ex  Ljava/io/IOException;
           21   22     8             props  Ljava/util/Properties;
           24   27     8                ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    15      16  Class java.io.IOException
          20    22      23  Class java.io.IOException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      filename    
      propHolder  

  protected java.util.Properties loadProperties(org.springframework.core.io.Resource, java.lang.String);
    descriptor: (Lorg/springframework/core/io/Resource;Ljava/lang/String;)Ljava/util/Properties;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
        start local 1 // org.springframework.core.io.Resource resource
        start local 2 // java.lang.String filename
         0: .line 464
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.newProperties:()Ljava/util/Properties;
            astore 3 /* props */
        start local 3 // java.util.Properties props
         1: .line 465
            aconst_null
            astore 4
            aconst_null
            astore 5
         2: aload 1 /* resource */
            invokeinterface org.springframework.core.io.Resource.getInputStream:()Ljava/io/InputStream;
            astore 6 /* is */
        start local 6 // java.io.InputStream is
         3: .line 466
            aload 1 /* resource */
            invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
            astore 7 /* resourceFilename */
        start local 7 // java.lang.String resourceFilename
         4: .line 467
            aload 7 /* resourceFilename */
            ifnull 9
            aload 7 /* resourceFilename */
            ldc ".xml"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 9
         5: .line 468
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 7
         6: .line 469
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Loading properties ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resource */
            invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         7: .line 471
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.core.io.Resource java.lang.String java.util.Properties java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.propertiesPersister:Lorg/springframework/util/PropertiesPersister;
            aload 3 /* props */
            aload 6 /* is */
            invokeinterface org.springframework.util.PropertiesPersister.loadFromXml:(Ljava/util/Properties;Ljava/io/InputStream;)V
         8: .line 472
            goto 22
         9: .line 474
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* encoding */
        start local 8 // java.lang.String encoding
        10: .line 475
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.fileEncodings:Ljava/util/Properties;
            ifnull 12
        11: .line 476
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.fileEncodings:Ljava/util/Properties;
            aload 2 /* filename */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* encoding */
        12: .line 478
      StackMap locals: java.lang.String
      StackMap stack:
            aload 8 /* encoding */
            ifnonnull 14
        13: .line 479
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getDefaultEncoding:()Ljava/lang/String;
            astore 8 /* encoding */
        14: .line 481
      StackMap locals:
      StackMap stack:
            aload 8 /* encoding */
            ifnull 19
        15: .line 482
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 17
        16: .line 483
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Loading properties ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resource */
            invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] with encoding '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* encoding */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        17: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.propertiesPersister:Lorg/springframework/util/PropertiesPersister;
            aload 3 /* props */
            new java.io.InputStreamReader
            dup
            aload 6 /* is */
            aload 8 /* encoding */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            invokeinterface org.springframework.util.PropertiesPersister.load:(Ljava/util/Properties;Ljava/io/Reader;)V
        18: .line 486
            goto 22
        19: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 21
        20: .line 489
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Loading properties ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resource */
            invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        21: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.propertiesPersister:Lorg/springframework/util/PropertiesPersister;
            aload 3 /* props */
            aload 6 /* is */
            invokeinterface org.springframework.util.PropertiesPersister.load:(Ljava/util/Properties;Ljava/io/InputStream;)V
        end local 8 // java.lang.String encoding
        22: .line 494
      StackMap locals:
      StackMap stack:
            aload 3 /* props */
        23: .line 495
            aload 6 /* is */
            ifnull 24
            aload 6 /* is */
            invokevirtual java.io.InputStream.close:()V
        24: .line 494
      StackMap locals:
      StackMap stack: java.util.Properties
            areturn
        end local 7 // java.lang.String resourceFilename
      StackMap locals: org.springframework.context.support.ReloadableResourceBundleMessageSource org.springframework.core.io.Resource java.lang.String java.util.Properties java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
        25: astore 4
        26: .line 495
            aload 6 /* is */
            ifnull 27
            aload 6 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 6 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        27: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 5
            aload 4
            ifnonnull 29
            aload 5
            astore 4
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 4
            aload 5
            if_acmpeq 30
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        30: aload 4
            athrow
        end local 3 // java.util.Properties props
        end local 2 // java.lang.String filename
        end local 1 // org.springframework.core.io.Resource resource
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   31     0              this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
            0   31     1          resource  Lorg/springframework/core/io/Resource;
            0   31     2          filename  Ljava/lang/String;
            1   31     3             props  Ljava/util/Properties;
            3   27     6                is  Ljava/io/InputStream;
            4   25     7  resourceFilename  Ljava/lang/String;
           10   22     8          encoding  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3    23      25  any
           2    24      28  any
          25    28      28  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      resource  
      filename  

  protected java.util.Properties newProperties();
    descriptor: ()Ljava/util/Properties;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
         0: .line 508
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            areturn
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;

  public void clearCache();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
         0: .line 517
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.logger:Lorg/apache/commons/logging/Log;
            ldc "Clearing entire resource bundle cache"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         1: .line 518
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedProperties:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
         2: .line 519
            aload 0 /* this */
            getfield org.springframework.context.support.ReloadableResourceBundleMessageSource.cachedMergedProperties:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
         3: .line 520
            return
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;

  public void clearCacheIncludingAncestors();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
         0: .line 527
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.clearCache:()V
         1: .line 528
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getParentMessageSource:()Lorg/springframework/context/MessageSource;
            instanceof org.springframework.context.support.ReloadableResourceBundleMessageSource
            ifeq 3
         2: .line 529
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getParentMessageSource:()Lorg/springframework/context/MessageSource;
            checkcast org.springframework.context.support.ReloadableResourceBundleMessageSource
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.clearCacheIncludingAncestors:()V
         3: .line 531
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
         0: .line 536
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": basenames="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.springframework.context.support.ReloadableResourceBundleMessageSource.getBasenameSet:()Ljava/util/Set;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.context.support.ReloadableResourceBundleMessageSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/context/support/ReloadableResourceBundleMessageSource;
}
SourceFile: "ReloadableResourceBundleMessageSource.java"
NestMembers:
  org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder
InnerClasses:
  protected PropertiesHolder = org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder of org.springframework.context.support.ReloadableResourceBundleMessageSource