public class com.netflix.config.ConfigurationManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.netflix.config.ConfigurationManager
  super_class: java.lang.Object
{
  static volatile org.apache.commons.configuration.AbstractConfiguration instance;
    descriptor: Lorg/apache/commons/configuration/AbstractConfiguration;
    flags: (0x0048) ACC_STATIC, ACC_VOLATILE

  static volatile boolean customConfigurationInstalled;
    descriptor: Z
    flags: (0x0048) ACC_STATIC, ACC_VOLATILE

  private static volatile com.netflix.config.jmx.ConfigMBean configMBean;
    descriptor: Lcom/netflix/config/jmx/ConfigMBean;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static volatile com.netflix.config.DeploymentContext context;
    descriptor: Lcom/netflix/config/DeploymentContext;
    flags: (0x0048) ACC_STATIC, ACC_VOLATILE

  private static java.lang.StackTraceElement[] initStack;
    descriptor: [Ljava/lang/StackTraceElement;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public static final java.lang.String PROP_NEXT_LOAD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "@next"

  public static final java.lang.String URL_CONFIG_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "archaius.dynamicPropertyFactory.URL_CONFIG"

  public static final java.lang.String SYS_CONFIG_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "archaius.dynamicPropertyFactory.SYS_CONFIG"

  public static final java.lang.String ENV_CONFIG_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "archaius.dynamicPropertyFactory.ENV_CONFIG"

  public static final java.lang.String DISABLE_DEFAULT_ENV_CONFIG;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "archaius.dynamicProperty.disableEnvironmentConfig"

  public static final java.lang.String DISABLE_DEFAULT_SYS_CONFIG;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "archaius.dynamicProperty.disableSystemConfig"

  private static final java.lang.String PROP_NEXT_LOAD_NFLX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "netflixconfiguration.properties.nextLoad"

  public static final java.lang.String APPLICATION_PROPERTIES;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "APPLICATION_PROPERTIES"

  private static java.util.Set<java.lang.String> loadedPropertiesURLs;
    descriptor: Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=0
         0: .line 56
            aconst_null
            putstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
         1: .line 57
            iconst_0
            putstatic com.netflix.config.ConfigurationManager.customConfigurationInstalled:Z
         2: .line 58
            aconst_null
            putstatic com.netflix.config.ConfigurationManager.configMBean:Lcom/netflix/config/jmx/ConfigMBean;
         3: .line 59
            ldc Lcom/netflix/config/ConfigurationManager;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic com.netflix.config.ConfigurationManager.logger:Lorg/slf4j/Logger;
         4: .line 60
            aconst_null
            putstatic com.netflix.config.ConfigurationManager.context:Lcom/netflix/config/DeploymentContext;
         5: .line 67
            aconst_null
            putstatic com.netflix.config.ConfigurationManager.initStack:[Ljava/lang/StackTraceElement;
         6: .line 88
            new java.util.concurrent.CopyOnWriteArraySet
            dup
            invokespecial java.util.concurrent.CopyOnWriteArraySet.<init>:()V
            putstatic com.netflix.config.ConfigurationManager.loadedPropertiesURLs:Ljava/util/Set;
         7: .line 91
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getStackTrace:()[Ljava/lang/StackTraceElement;
            putstatic com.netflix.config.ConfigurationManager.initStack:[Ljava/lang/StackTraceElement;
         8: .line 93
            ldc "archaius.default.configuration.class"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* className */
        start local 0 // java.lang.String className
         9: .line 94
            aload 0 /* className */
            ifnull 13
        10: .line 95
            aload 0 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration.AbstractConfiguration
            putstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
        11: .line 96
            iconst_1
            putstatic com.netflix.config.ConfigurationManager.customConfigurationInstalled:Z
        12: .line 97
            goto 19
        13: .line 98
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "archaius.default.configuration.factory"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* factoryName */
        start local 1 // java.lang.String factoryName
        14: .line 99
            aload 1 /* factoryName */
            ifnull 19
        15: .line 100
            aload 1 /* factoryName */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            ldc "getInstance"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 2 /* m */
        start local 2 // java.lang.reflect.Method m
        16: .line 101
            aload 2 /* m */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
        17: .line 102
            aload 2 /* m */
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.configuration.AbstractConfiguration
            putstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
        18: .line 103
            iconst_1
            putstatic com.netflix.config.ConfigurationManager.customConfigurationInstalled:Z
        end local 2 // java.lang.reflect.Method m
        end local 1 // java.lang.String factoryName
        19: .line 106
      StackMap locals:
      StackMap stack:
            ldc "archaius.default.deploymentContext.class"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* contextClassName */
        start local 1 // java.lang.String contextClassName
        20: .line 107
            aload 1 /* contextClassName */
            ifnull 23
        21: .line 108
            aload 1 /* contextClassName */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.netflix.config.DeploymentContext
            invokestatic com.netflix.config.ConfigurationManager.setDeploymentContext:(Lcom/netflix/config/DeploymentContext;)V
        22: .line 109
            goto 33
        23: .line 110
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "archaius.default.deploymentContext.factory"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* factoryName */
        start local 2 // java.lang.String factoryName
        24: .line 111
            aload 2 /* factoryName */
            ifnull 29
        25: .line 112
            aload 2 /* factoryName */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            ldc "getInstance"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* m */
        start local 3 // java.lang.reflect.Method m
        26: .line 113
            aload 3 /* m */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
        27: .line 114
            aload 3 /* m */
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.netflix.config.DeploymentContext
            invokestatic com.netflix.config.ConfigurationManager.setDeploymentContext:(Lcom/netflix/config/DeploymentContext;)V
        end local 3 // java.lang.reflect.Method m
        28: .line 115
            goto 33
        29: .line 116
      StackMap locals: java.lang.String
      StackMap stack:
            new com.netflix.config.ConfigurationBasedDeploymentContext
            dup
            invokespecial com.netflix.config.ConfigurationBasedDeploymentContext.<init>:()V
            invokestatic com.netflix.config.ConfigurationManager.setDeploymentContext:(Lcom/netflix/config/DeploymentContext;)V
        end local 2 // java.lang.String factoryName
        end local 1 // java.lang.String contextClassName
        end local 0 // java.lang.String className
        30: .line 120
            goto 33
      StackMap locals:
      StackMap stack: java.lang.Exception
        31: astore 0 /* e */
        start local 0 // java.lang.Exception e
        32: .line 121
            new java.lang.RuntimeException
            dup
            ldc "Error initializing configuration"
            aload 0 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
        33: .line 123
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            9   30     0         className  Ljava/lang/String;
           14   19     1       factoryName  Ljava/lang/String;
           16   19     2                 m  Ljava/lang/reflect/Method;
           20   30     1  contextClassName  Ljava/lang/String;
           24   30     2       factoryName  Ljava/lang/String;
           26   28     3                 m  Ljava/lang/reflect/Method;
           32   33     0                 e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           8    30      31  Class java.lang.Exception

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.netflix.config.ConfigurationManager this
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.netflix.config.ConfigurationManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/netflix/config/ConfigurationManager;

  public static java.lang.StackTraceElement[] getStaticInitializationSource();
    descriptor: ()[Ljava/lang/StackTraceElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 130
            getstatic com.netflix.config.ConfigurationManager.initStack:[Ljava/lang/StackTraceElement;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.util.Set<java.lang.String> getLoadedPropertiesURLs();
    descriptor: ()Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 134
            getstatic com.netflix.config.ConfigurationManager.loadedPropertiesURLs:Ljava/util/Set;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public static synchronized void install(org.apache.commons.configuration.AbstractConfiguration);
    descriptor: (Lorg/apache/commons/configuration/AbstractConfiguration;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.configuration.AbstractConfiguration config
         0: .line 143
            getstatic com.netflix.config.ConfigurationManager.customConfigurationInstalled:Z
            ifne 5
         1: .line 144
            aload 0 /* config */
            invokestatic com.netflix.config.ConfigurationManager.setDirect:(Lorg/apache/commons/configuration/AbstractConfiguration;)V
         2: .line 145
            invokestatic com.netflix.config.DynamicPropertyFactory.getBackingConfigurationSource:()Ljava/lang/Object;
            aload 0 /* config */
            if_acmpeq 6
         3: .line 146
            aload 0 /* config */
            invokestatic com.netflix.config.DynamicPropertyFactory.initWithConfigurationSource:(Lorg/apache/commons/configuration/AbstractConfiguration;)Lcom/netflix/config/DynamicPropertyFactory;
            pop
         4: .line 148
            goto 6
         5: .line 149
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "A non-default configuration is already installed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.configuration.AbstractConfiguration config
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  config  Lorg/apache/commons/configuration/AbstractConfiguration;
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
        Name  Flags
      config  

  public static synchronized boolean isConfigurationInstalled();
    descriptor: ()Z
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=0, args_size=0
         0: .line 154
            getstatic com.netflix.config.ConfigurationManager.customConfigurationInstalled:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.apache.commons.configuration.AbstractConfiguration createDefaultConfigInstance();
    descriptor: ()Lorg/apache/commons/configuration/AbstractConfiguration;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 158
            new com.netflix.config.ConcurrentCompositeConfiguration
            dup
            invokespecial com.netflix.config.ConcurrentCompositeConfiguration.<init>:()V
            astore 0 /* config */
        start local 0 // com.netflix.config.ConcurrentCompositeConfiguration config
         1: .line 160
            new com.netflix.config.DynamicURLConfiguration
            dup
            invokespecial com.netflix.config.DynamicURLConfiguration.<init>:()V
            astore 1 /* defaultURLConfig */
        start local 1 // com.netflix.config.DynamicURLConfiguration defaultURLConfig
         2: .line 161
            aload 0 /* config */
            aload 1 /* defaultURLConfig */
            ldc "archaius.dynamicPropertyFactory.URL_CONFIG"
            invokevirtual com.netflix.config.ConcurrentCompositeConfiguration.addConfiguration:(Lorg/apache/commons/configuration/AbstractConfiguration;Ljava/lang/String;)V
        end local 1 // com.netflix.config.DynamicURLConfiguration defaultURLConfig
         3: .line 162
            goto 6
      StackMap locals: com.netflix.config.ConcurrentCompositeConfiguration
      StackMap stack: java.lang.Throwable
         4: astore 1 /* e */
        start local 1 // java.lang.Throwable e
         5: .line 163
            getstatic com.netflix.config.ConfigurationManager.logger:Lorg/slf4j/Logger;
            ldc "Failed to create default dynamic configuration"
            aload 1 /* e */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable e
         6: .line 165
      StackMap locals:
      StackMap stack:
            ldc "archaius.dynamicProperty.disableSystemConfig"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            ifne 9
         7: .line 166
            new org.apache.commons.configuration.SystemConfiguration
            dup
            invokespecial org.apache.commons.configuration.SystemConfiguration.<init>:()V
            astore 1 /* sysConfig */
        start local 1 // org.apache.commons.configuration.SystemConfiguration sysConfig
         8: .line 167
            aload 0 /* config */
            aload 1 /* sysConfig */
            ldc "archaius.dynamicPropertyFactory.SYS_CONFIG"
            invokevirtual com.netflix.config.ConcurrentCompositeConfiguration.addConfiguration:(Lorg/apache/commons/configuration/AbstractConfiguration;Ljava/lang/String;)V
        end local 1 // org.apache.commons.configuration.SystemConfiguration sysConfig
         9: .line 169
      StackMap locals:
      StackMap stack:
            ldc "archaius.dynamicProperty.disableEnvironmentConfig"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            ifne 12
        10: .line 170
            new org.apache.commons.configuration.EnvironmentConfiguration
            dup
            invokespecial org.apache.commons.configuration.EnvironmentConfiguration.<init>:()V
            astore 1 /* envConfig */
        start local 1 // org.apache.commons.configuration.EnvironmentConfiguration envConfig
        11: .line 171
            aload 0 /* config */
            aload 1 /* envConfig */
            ldc "archaius.dynamicPropertyFactory.ENV_CONFIG"
            invokevirtual com.netflix.config.ConcurrentCompositeConfiguration.addConfiguration:(Lorg/apache/commons/configuration/AbstractConfiguration;Ljava/lang/String;)V
        end local 1 // org.apache.commons.configuration.EnvironmentConfiguration envConfig
        12: .line 173
      StackMap locals:
      StackMap stack:
            new com.netflix.config.ConcurrentCompositeConfiguration
            dup
            invokespecial com.netflix.config.ConcurrentCompositeConfiguration.<init>:()V
            astore 1 /* appOverrideConfig */
        start local 1 // com.netflix.config.ConcurrentCompositeConfiguration appOverrideConfig
        13: .line 174
            aload 0 /* config */
            aload 1 /* appOverrideConfig */
            ldc "APPLICATION_PROPERTIES"
            invokevirtual com.netflix.config.ConcurrentCompositeConfiguration.addConfiguration:(Lorg/apache/commons/configuration/AbstractConfiguration;Ljava/lang/String;)V
        14: .line 175
            aload 0 /* config */
            aload 0 /* config */
            aload 1 /* appOverrideConfig */
            invokevirtual com.netflix.config.ConcurrentCompositeConfiguration.getIndexOfConfiguration:(Lorg/apache/commons/configuration/AbstractConfiguration;)I
            invokevirtual com.netflix.config.ConcurrentCompositeConfiguration.setContainerConfigurationIndex:(I)V
        15: .line 176
            aload 0 /* config */
            areturn
        end local 1 // com.netflix.config.ConcurrentCompositeConfiguration appOverrideConfig
        end local 0 // com.netflix.config.ConcurrentCompositeConfiguration config
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            1   16     0             config  Lcom/netflix/config/ConcurrentCompositeConfiguration;
            2    3     1   defaultURLConfig  Lcom/netflix/config/DynamicURLConfiguration;
            5    6     1                  e  Ljava/lang/Throwable;
            8    9     1          sysConfig  Lorg/apache/commons/configuration/SystemConfiguration;
           11   12     1          envConfig  Lorg/apache/commons/configuration/EnvironmentConfiguration;
           13   16     1  appOverrideConfig  Lcom/netflix/config/ConcurrentCompositeConfiguration;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.Throwable

  private static org.apache.commons.configuration.AbstractConfiguration getConfigInstance(boolean);
    descriptor: (Z)Lorg/apache/commons/configuration/AbstractConfiguration;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // boolean defaultConfigDisabled
         0: .line 180
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            ifnonnull 3
            iload 0 /* defaultConfigDisabled */
            ifne 3
         1: .line 181
            invokestatic com.netflix.config.ConfigurationManager.createDefaultConfigInstance:()Lorg/apache/commons/configuration/AbstractConfiguration;
            putstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
         2: .line 182
            invokestatic com.netflix.config.ConfigurationManager.registerConfigBean:()V
         3: .line 184
      StackMap locals:
      StackMap stack:
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            areturn
        end local 0 // boolean defaultConfigDisabled
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    4     0  defaultConfigDisabled  Z
    MethodParameters:
                       Name  Flags
      defaultConfigDisabled  

  public static org.apache.commons.configuration.AbstractConfiguration getConfigInstance();
    descriptor: ()Lorg/apache/commons/configuration/AbstractConfiguration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 193
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            ifnonnull 8
         1: .line 194
            ldc Lcom/netflix/config/ConfigurationManager;
            dup
            astore 0
            monitorenter
         2: .line 195
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            ifnonnull 4
         3: .line 196
            ldc "archaius.dynamicProperty.disableDefaultConfig"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            invokestatic com.netflix.config.ConfigurationManager.getConfigInstance:(Z)Lorg/apache/commons/configuration/AbstractConfiguration;
            putstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
         4: .line 194
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 0
            monitorexit
         7: athrow
         8: .line 200
      StackMap locals:
      StackMap stack:
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any

  private static void registerConfigBean();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 204
            ldc "archaius.dynamicPropertyFactory.registerConfigWithJMX"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            ifeq 5
         1: .line 206
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            invokestatic com.netflix.config.jmx.ConfigJMXManager.registerConfigMbean:(Lorg/apache/commons/configuration/AbstractConfiguration;)Lcom/netflix/config/jmx/ConfigMBean;
            putstatic com.netflix.config.ConfigurationManager.configMBean:Lcom/netflix/config/jmx/ConfigMBean;
         2: .line 207
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: astore 0 /* e */
        start local 0 // java.lang.Exception e
         4: .line 208
            getstatic com.netflix.config.ConfigurationManager.logger:Lorg/slf4j/Logger;
            ldc "Unable to register with JMX"
            aload 0 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 0 // java.lang.Exception e
         5: .line 211
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    5     0     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception

  static synchronized void setDirect(org.apache.commons.configuration.AbstractConfiguration);
    descriptor: (Lorg/apache/commons/configuration/AbstractConfiguration;)V
    flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.apache.commons.configuration.AbstractConfiguration config
         0: .line 214
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            ifnull 18
         1: .line 215
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            invokevirtual org.apache.commons.configuration.AbstractConfiguration.getConfigurationListeners:()Ljava/util/Collection;
            astore 1 /* listeners */
        start local 1 // java.util.Collection listeners
         2: .line 218
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            invokevirtual org.apache.commons.configuration.AbstractConfiguration.getKeys:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         3: goto 8
         4: .line 219
      StackMap locals: java.util.Collection java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* key */
        start local 3 // java.lang.String key
         5: .line 220
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            aload 3 /* key */
            invokevirtual org.apache.commons.configuration.AbstractConfiguration.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         6: .line 221
            aload 4 /* value */
            ifnull 8
            aload 0 /* config */
            aload 3 /* key */
            invokevirtual org.apache.commons.configuration.AbstractConfiguration.containsKey:(Ljava/lang/String;)Z
            ifne 8
         7: .line 222
            aload 0 /* config */
            aload 3 /* key */
            aload 4 /* value */
            invokevirtual org.apache.commons.configuration.AbstractConfiguration.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 4 // java.lang.Object value
        end local 3 // java.lang.String key
         8: .line 218
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // java.util.Iterator i
         9: .line 225
            aload 1 /* listeners */
            ifnull 18
        10: .line 226
            aload 1 /* listeners */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 17
      StackMap locals: org.apache.commons.configuration.AbstractConfiguration java.util.Collection top java.util.Iterator
      StackMap stack:
        11: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration.event.ConfigurationListener
            astore 2 /* listener */
        start local 2 // org.apache.commons.configuration.event.ConfigurationListener listener
        12: .line 227
            aload 2 /* listener */
            instanceof com.netflix.config.ExpandedConfigurationListenerAdapter
            ifeq 16
        13: .line 228
            aload 2 /* listener */
            checkcast com.netflix.config.ExpandedConfigurationListenerAdapter
            invokevirtual com.netflix.config.ExpandedConfigurationListenerAdapter.getListener:()Lcom/netflix/config/PropertyListener;
            instanceof com.netflix.config.DynamicProperty$DynamicPropertyListener
        14: .line 229
            ifeq 16
        15: .line 232
            goto 17
        16: .line 234
      StackMap locals: org.apache.commons.configuration.AbstractConfiguration java.util.Collection org.apache.commons.configuration.event.ConfigurationListener java.util.Iterator
      StackMap stack:
            aload 0 /* config */
            aload 2 /* listener */
            invokevirtual org.apache.commons.configuration.AbstractConfiguration.addConfigurationListener:(Lorg/apache/commons/configuration/event/ConfigurationListener;)V
        end local 2 // org.apache.commons.configuration.event.ConfigurationListener listener
        17: .line 226
      StackMap locals: org.apache.commons.configuration.AbstractConfiguration java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 1 // java.util.Collection listeners
        18: .line 238
      StackMap locals: org.apache.commons.configuration.AbstractConfiguration
      StackMap stack:
            invokestatic com.netflix.config.ConfigurationManager.removeDefaultConfiguration:()V
        19: .line 239
            aload 0 /* config */
            putstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
        20: .line 240
            iconst_1
            putstatic com.netflix.config.ConfigurationManager.customConfigurationInstalled:Z
        21: .line 241
            invokestatic com.netflix.config.ConfigurationManager.registerConfigBean:()V
        22: .line 242
            return
        end local 0 // org.apache.commons.configuration.AbstractConfiguration config
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0     config  Lorg/apache/commons/configuration/AbstractConfiguration;
            2   18     1  listeners  Ljava/util/Collection<Lorg/apache/commons/configuration/event/ConfigurationListener;>;
            3    9     2          i  Ljava/util/Iterator<Ljava/lang/String;>;
            5    8     3        key  Ljava/lang/String;
            6    8     4      value  Ljava/lang/Object;
           12   17     2   listener  Lorg/apache/commons/configuration/event/ConfigurationListener;
    MethodParameters:
        Name  Flags
      config  

  public static void loadPropertiesFromResources(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String path
         0: .line 251
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            ifnonnull 2
         1: .line 252
            invokestatic com.netflix.config.ConfigurationManager.getConfigInstance:()Lorg/apache/commons/configuration/AbstractConfiguration;
            putstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
         2: .line 254
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* loader */
        start local 1 // java.lang.ClassLoader loader
         3: .line 255
            aload 1 /* loader */
            aload 0 /* path */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            astore 2 /* resources */
        start local 2 // java.util.Enumeration resources
         4: .line 256
            aload 2 /* resources */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 16
         5: .line 258
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot locate "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " as a classpath resource."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 261
      StackMap locals: java.lang.ClassLoader java.util.Enumeration
      StackMap stack:
            aload 2 /* resources */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 3 /* url */
        start local 3 // java.net.URL url
         7: .line 262
            aload 3 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 4 /* fin */
        start local 4 // java.io.InputStream fin
         8: .line 263
            aload 4 /* fin */
            invokestatic com.netflix.config.util.ConfigurationUtils.loadPropertiesFromInputStream:(Ljava/io/InputStream;)Ljava/util/Properties;
            astore 5 /* props */
        start local 5 // java.util.Properties props
         9: .line 264
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            instanceof com.netflix.config.AggregatedConfiguration
            ifeq 15
        10: .line 265
            aload 3 /* url */
            invokestatic com.netflix.config.ConfigurationManager.getConfigName:(Ljava/net/URL;)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
        11: .line 266
            new com.netflix.config.ConcurrentMapConfiguration
            dup
            invokespecial com.netflix.config.ConcurrentMapConfiguration.<init>:()V
            astore 7 /* config */
        start local 7 // com.netflix.config.ConcurrentMapConfiguration config
        12: .line 267
            aload 7 /* config */
            aload 5 /* props */
            invokevirtual com.netflix.config.ConcurrentMapConfiguration.loadProperties:(Ljava/util/Properties;)V
        13: .line 268
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            checkcast com.netflix.config.AggregatedConfiguration
            aload 7 /* config */
            aload 6 /* name */
            invokeinterface com.netflix.config.AggregatedConfiguration.addConfiguration:(Lorg/apache/commons/configuration/AbstractConfiguration;Ljava/lang/String;)V
        end local 7 // com.netflix.config.ConcurrentMapConfiguration config
        end local 6 // java.lang.String name
        14: .line 269
            goto 16
        15: .line 270
      StackMap locals: java.net.URL java.io.InputStream java.util.Properties
      StackMap stack:
            aload 5 /* props */
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            invokestatic com.netflix.config.util.ConfigurationUtils.loadProperties:(Ljava/util/Properties;Lorg/apache/commons/configuration/Configuration;)V
        end local 5 // java.util.Properties props
        end local 4 // java.io.InputStream fin
        end local 3 // java.net.URL url
        16: .line 260
      StackMap locals:
      StackMap stack:
            aload 2 /* resources */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
        17: .line 273
            return
        end local 2 // java.util.Enumeration resources
        end local 1 // java.lang.ClassLoader loader
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       path  Ljava/lang/String;
            3   18     1     loader  Ljava/lang/ClassLoader;
            4   18     2  resources  Ljava/util/Enumeration<Ljava/net/URL;>;
            7   16     3        url  Ljava/net/URL;
            8   16     4        fin  Ljava/io/InputStream;
            9   16     5      props  Ljava/util/Properties;
           11   14     6       name  Ljava/lang/String;
           12   14     7     config  Lcom/netflix/config/ConcurrentMapConfiguration;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  

  public static void loadCascadedPropertiesFromResources(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String configName
         0: .line 286
            aload 0 /* configName */
            invokestatic com.netflix.config.ConfigurationManager.loadCascadedProperties:(Ljava/lang/String;)Ljava/util/Properties;
            astore 1 /* props */
        start local 1 // java.util.Properties props
         1: .line 287
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            instanceof com.netflix.config.AggregatedConfiguration
            ifeq 6
         2: .line 288
            new com.netflix.config.ConcurrentMapConfiguration
            dup
            invokespecial com.netflix.config.ConcurrentMapConfiguration.<init>:()V
            astore 2 /* config */
        start local 2 // com.netflix.config.ConcurrentMapConfiguration config
         3: .line 289
            aload 2 /* config */
            aload 1 /* props */
            invokevirtual com.netflix.config.ConcurrentMapConfiguration.loadProperties:(Ljava/util/Properties;)V
         4: .line 290
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            checkcast com.netflix.config.AggregatedConfiguration
            aload 2 /* config */
            aload 0 /* configName */
            invokeinterface com.netflix.config.AggregatedConfiguration.addConfiguration:(Lorg/apache/commons/configuration/AbstractConfiguration;Ljava/lang/String;)V
        end local 2 // com.netflix.config.ConcurrentMapConfiguration config
         5: .line 291
            goto 7
         6: .line 292
      StackMap locals: java.util.Properties
      StackMap stack:
            aload 1 /* props */
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            invokestatic com.netflix.config.util.ConfigurationUtils.loadProperties:(Ljava/util/Properties;Lorg/apache/commons/configuration/Configuration;)V
         7: .line 294
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Properties props
        end local 0 // java.lang.String configName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0  configName  Ljava/lang/String;
            1    8     1       props  Ljava/util/Properties;
            3    5     2      config  Lcom/netflix/config/ConcurrentMapConfiguration;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      configName  

  private static java.util.Properties loadCascadedProperties(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Properties;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String configName
         0: .line 297
            new java.lang.StringBuilder
            dup
            aload 0 /* configName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".properties"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* defaultConfigFileName */
        start local 1 // java.lang.String defaultConfigFileName
         1: .line 298
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            ifnonnull 3
         2: .line 299
            invokestatic com.netflix.config.ConfigurationManager.getConfigInstance:()Lorg/apache/commons/configuration/AbstractConfiguration;
            putstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
         3: .line 301
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* loader */
        start local 2 // java.lang.ClassLoader loader
         4: .line 302
            aload 2 /* loader */
            aload 1 /* defaultConfigFileName */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 3 /* url */
        start local 3 // java.net.URL url
         5: .line 303
            aload 3 /* url */
            ifnonnull 7
         6: .line 304
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot locate "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* defaultConfigFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " as a classpath resource."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 306
      StackMap locals: java.lang.ClassLoader java.net.URL
      StackMap stack:
            aload 3 /* url */
            invokestatic com.netflix.config.ConfigurationManager.getPropertiesFromFile:(Ljava/net/URL;)Ljava/util/Properties;
            astore 4 /* props */
        start local 4 // java.util.Properties props
         8: .line 307
            invokestatic com.netflix.config.ConfigurationManager.getDeploymentContext:()Lcom/netflix/config/DeploymentContext;
            invokeinterface com.netflix.config.DeploymentContext.getDeploymentEnvironment:()Ljava/lang/String;
            astore 5 /* environment */
        start local 5 // java.lang.String environment
         9: .line 308
            aload 5 /* environment */
            ifnull 16
            aload 5 /* environment */
            invokevirtual java.lang.String.length:()I
            ifle 16
        10: .line 309
            new java.lang.StringBuilder
            dup
            aload 0 /* configName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* environment */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".properties"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* envConfigFileName */
        start local 6 // java.lang.String envConfigFileName
        11: .line 310
            aload 2 /* loader */
            aload 6 /* envConfigFileName */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 3 /* url */
        12: .line 311
            aload 3 /* url */
            ifnull 16
        13: .line 312
            aload 3 /* url */
            invokestatic com.netflix.config.ConfigurationManager.getPropertiesFromFile:(Ljava/net/URL;)Ljava/util/Properties;
            astore 7 /* envProps */
        start local 7 // java.util.Properties envProps
        14: .line 313
            aload 7 /* envProps */
            ifnull 16
        15: .line 314
            aload 4 /* props */
            aload 7 /* envProps */
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
        end local 7 // java.util.Properties envProps
        end local 6 // java.lang.String envConfigFileName
        16: .line 318
      StackMap locals: java.util.Properties java.lang.String
      StackMap stack:
            aload 4 /* props */
            areturn
        end local 5 // java.lang.String environment
        end local 4 // java.util.Properties props
        end local 3 // java.net.URL url
        end local 2 // java.lang.ClassLoader loader
        end local 1 // java.lang.String defaultConfigFileName
        end local 0 // java.lang.String configName
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   17     0             configName  Ljava/lang/String;
            1   17     1  defaultConfigFileName  Ljava/lang/String;
            4   17     2                 loader  Ljava/lang/ClassLoader;
            5   17     3                    url  Ljava/net/URL;
            8   17     4                  props  Ljava/util/Properties;
            9   17     5            environment  Ljava/lang/String;
           11   16     6      envConfigFileName  Ljava/lang/String;
           14   16     7               envProps  Ljava/util/Properties;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      configName  

  public static void loadAppOverrideProperties(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.lang.String appConfigName
         0: .line 322
            invokestatic com.netflix.config.ConfigurationManager.getConfigInstance:()Lorg/apache/commons/configuration/AbstractConfiguration;
            astore 1 /* config */
        start local 1 // org.apache.commons.configuration.AbstractConfiguration config
         1: .line 323
            aload 0 /* appConfigName */
            invokestatic com.netflix.config.ConfigurationManager.loadCascadedProperties:(Ljava/lang/String;)Ljava/util/Properties;
            astore 2 /* props */
        start local 2 // java.util.Properties props
         2: .line 324
            aload 1 /* config */
            instanceof com.netflix.config.AggregatedConfiguration
            ifeq 8
         3: .line 325
            aload 1 /* config */
            checkcast com.netflix.config.AggregatedConfiguration
            astore 3 /* aggregated */
        start local 3 // com.netflix.config.AggregatedConfiguration aggregated
         4: .line 326
            aload 3 /* aggregated */
            ldc "APPLICATION_PROPERTIES"
            invokeinterface com.netflix.config.AggregatedConfiguration.getConfiguration:(Ljava/lang/String;)Lorg/apache/commons/configuration/Configuration;
            astore 4 /* appConfig */
        start local 4 // org.apache.commons.configuration.Configuration appConfig
         5: .line 327
            aload 4 /* appConfig */
            ifnull 8
         6: .line 328
            aload 2 /* props */
            aload 4 /* appConfig */
            invokestatic com.netflix.config.util.ConfigurationUtils.loadProperties:(Ljava/util/Properties;Lorg/apache/commons/configuration/Configuration;)V
         7: .line 329
            return
        end local 4 // org.apache.commons.configuration.Configuration appConfig
        end local 3 // com.netflix.config.AggregatedConfiguration aggregated
         8: .line 335
      StackMap locals: org.apache.commons.configuration.AbstractConfiguration java.util.Properties
      StackMap stack:
            aload 2 /* props */
            aload 1 /* config */
            invokestatic com.netflix.config.util.ConfigurationUtils.loadProperties:(Ljava/util/Properties;Lorg/apache/commons/configuration/Configuration;)V
         9: .line 336
            return
        end local 2 // java.util.Properties props
        end local 1 // org.apache.commons.configuration.AbstractConfiguration config
        end local 0 // java.lang.String appConfigName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0  appConfigName  Ljava/lang/String;
            1   10     1         config  Lorg/apache/commons/configuration/AbstractConfiguration;
            2   10     2          props  Ljava/util/Properties;
            4    8     3     aggregated  Lcom/netflix/config/AggregatedConfiguration;
            5    8     4      appConfig  Lorg/apache/commons/configuration/Configuration;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      appConfigName  

  public static void loadPropertiesFromConfiguration(org.apache.commons.configuration.AbstractConfiguration);
    descriptor: (Lorg/apache/commons/configuration/AbstractConfiguration;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.configuration.AbstractConfiguration config
         0: .line 342
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            ifnonnull 2
         1: .line 343
            invokestatic com.netflix.config.ConfigurationManager.getConfigInstance:()Lorg/apache/commons/configuration/AbstractConfiguration;
            putstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
         2: .line 345
      StackMap locals:
      StackMap stack:
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            instanceof com.netflix.config.AggregatedConfiguration
            ifeq 5
         3: .line 346
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            checkcast com.netflix.config.AggregatedConfiguration
            aload 0 /* config */
            invokeinterface com.netflix.config.AggregatedConfiguration.addConfiguration:(Lorg/apache/commons/configuration/AbstractConfiguration;)V
         4: .line 347
            goto 7
         5: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* config */
            invokestatic com.netflix.config.util.ConfigurationUtils.getProperties:(Lorg/apache/commons/configuration/Configuration;)Ljava/util/Properties;
            astore 1 /* props */
        start local 1 // java.util.Properties props
         6: .line 349
            aload 1 /* props */
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            invokestatic com.netflix.config.util.ConfigurationUtils.loadProperties:(Ljava/util/Properties;Lorg/apache/commons/configuration/Configuration;)V
        end local 1 // java.util.Properties props
         7: .line 351
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.configuration.AbstractConfiguration config
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  config  Lorg/apache/commons/configuration/AbstractConfiguration;
            6    7     1   props  Ljava/util/Properties;
    MethodParameters:
        Name  Flags
      config  

  public static void loadProperties(java.util.Properties);
    descriptor: (Ljava/util/Properties;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Properties properties
         0: .line 357
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            ifnonnull 2
         1: .line 358
            invokestatic com.netflix.config.ConfigurationManager.getConfigInstance:()Lorg/apache/commons/configuration/AbstractConfiguration;
            putstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
         2: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* properties */
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            invokestatic com.netflix.config.util.ConfigurationUtils.loadProperties:(Ljava/util/Properties;Lorg/apache/commons/configuration/Configuration;)V
         3: .line 361
            return
        end local 0 // java.util.Properties properties
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  properties  Ljava/util/Properties;
    MethodParameters:
            Name  Flags
      properties  

  public static void setDeploymentContext(com.netflix.config.DeploymentContext);
    descriptor: (Lcom/netflix/config/DeploymentContext;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.netflix.config.DeploymentContext context
         0: .line 364
            aload 0 /* context */
            putstatic com.netflix.config.ConfigurationManager.context:Lcom/netflix/config/DeploymentContext;
         1: .line 365
            invokestatic com.netflix.config.ConfigurationManager.getConfigInstance:()Lorg/apache/commons/configuration/AbstractConfiguration;
            ifnonnull 3
         2: .line 366
            return
         3: .line 368
      StackMap locals:
      StackMap stack:
            invokestatic com.netflix.config.DeploymentContext$ContextKey.values:()[Lcom/netflix/config/DeploymentContext$ContextKey;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 9
      StackMap locals: com.netflix.config.DeploymentContext top int int com.netflix.config.DeploymentContext$ContextKey[]
      StackMap stack:
         4: aload 4
            iload 2
            aaload
            astore 1 /* key */
        start local 1 // com.netflix.config.DeploymentContext$ContextKey key
         5: .line 369
            aload 0 /* context */
            aload 1 /* key */
            invokeinterface com.netflix.config.DeploymentContext.getValue:(Lcom/netflix/config/DeploymentContext$ContextKey;)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
         6: .line 370
            aload 5 /* value */
            ifnull 8
         7: .line 371
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            aload 1 /* key */
            invokevirtual com.netflix.config.DeploymentContext$ContextKey.getKey:()Ljava/lang/String;
            aload 5 /* value */
            invokevirtual org.apache.commons.configuration.AbstractConfiguration.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 5 // java.lang.String value
        end local 1 // com.netflix.config.DeploymentContext$ContextKey key
         8: .line 368
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         9: iload 2
            iload 3
            if_icmplt 4
        10: .line 374
            return
        end local 0 // com.netflix.config.DeploymentContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0  context  Lcom/netflix/config/DeploymentContext;
            5    8     1      key  Lcom/netflix/config/DeploymentContext$ContextKey;
            6    8     5    value  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  

  public static com.netflix.config.DeploymentContext getDeploymentContext();
    descriptor: ()Lcom/netflix/config/DeploymentContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 377
            getstatic com.netflix.config.ConfigurationManager.context:Lcom/netflix/config/DeploymentContext;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String getConfigName(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.net.URL propertyFile
         0: .line 382
            aload 0 /* propertyFile */
            invokevirtual java.net.URL.toExternalForm:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 383
            aload 1 /* name */
            bipush 92
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 1 /* name */
         2: .line 384
            aload 0 /* propertyFile */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 2 /* scheme */
        start local 2 // java.lang.String scheme
         3: .line 385
            ldc "jar"
            aload 2 /* scheme */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            ldc "zip"
            aload 2 /* scheme */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         4: .line 387
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* name */
            ldc "!"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 3 /* bang */
        start local 3 // int bang
         5: .line 388
            iload 3 /* bang */
            iflt 7
         6: .line 389
            aload 1 /* name */
            iconst_0
            iload 3 /* bang */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* name */
         7: .line 391
      StackMap locals: int
      StackMap stack:
            aload 1 /* name */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 4 /* slash */
        start local 4 // int slash
         8: .line 392
            iload 4 /* slash */
            iflt 14
         9: .line 393
            aload 1 /* name */
            iload 4 /* slash */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* name */
        end local 4 // int slash
        end local 3 // int bang
        10: .line 395
            goto 14
        11: .line 397
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 3 /* slash */
        start local 3 // int slash
        12: .line 398
            iload 3 /* slash */
            iflt 14
        13: .line 399
            aload 1 /* name */
            iconst_0
            iload 3 /* slash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* name */
        end local 3 // int slash
        14: .line 402
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 2 // java.lang.String scheme
        end local 1 // java.lang.String name
        end local 0 // java.net.URL propertyFile
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0  propertyFile  Ljava/net/URL;
            1   15     1          name  Ljava/lang/String;
            3   15     2        scheme  Ljava/lang/String;
            5   10     3          bang  I
            8   10     4         slash  I
           12   14     3         slash  I
    MethodParameters:
              Name  Flags
      propertyFile  

  private static synchronized void removeDefaultConfiguration();
    descriptor: ()V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=6, args_size=0
         0: .line 406
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            ifnull 1
            getstatic com.netflix.config.ConfigurationManager.customConfigurationInstalled:Z
            ifeq 2
         1: .line 407
      StackMap locals:
      StackMap stack:
            return
         2: .line 409
      StackMap locals:
      StackMap stack:
            getstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
            checkcast com.netflix.config.ConcurrentCompositeConfiguration
            astore 0 /* defaultConfig */
        start local 0 // com.netflix.config.ConcurrentCompositeConfiguration defaultConfig
         3: .line 411
            aload 0 /* defaultConfig */
            ldc "archaius.dynamicPropertyFactory.URL_CONFIG"
            invokevirtual com.netflix.config.ConcurrentCompositeConfiguration.getConfiguration:(Ljava/lang/String;)Lorg/apache/commons/configuration/Configuration;
            checkcast com.netflix.config.DynamicURLConfiguration
            astore 1 /* defaultFileConfig */
        start local 1 // com.netflix.config.DynamicURLConfiguration defaultFileConfig
         4: .line 412
            aload 1 /* defaultFileConfig */
            ifnull 6
         5: .line 413
            aload 1 /* defaultFileConfig */
            invokevirtual com.netflix.config.DynamicURLConfiguration.stopLoading:()V
         6: .line 415
      StackMap locals: com.netflix.config.ConcurrentCompositeConfiguration com.netflix.config.DynamicURLConfiguration
      StackMap stack:
            aload 0 /* defaultConfig */
            invokevirtual com.netflix.config.ConcurrentCompositeConfiguration.getConfigurationListeners:()Ljava/util/Collection;
            astore 2 /* listeners */
        start local 2 // java.util.Collection listeners
         7: .line 419
            aconst_null
            astore 3 /* dynamicPropertyListener */
        start local 3 // org.apache.commons.configuration.event.ConfigurationListener dynamicPropertyListener
         8: .line 420
            aload 2 /* listeners */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: com.netflix.config.ConcurrentCompositeConfiguration com.netflix.config.DynamicURLConfiguration java.util.Collection org.apache.commons.configuration.event.ConfigurationListener top java.util.Iterator
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration.event.ConfigurationListener
            astore 4 /* l */
        start local 4 // org.apache.commons.configuration.event.ConfigurationListener l
        10: .line 421
            aload 4 /* l */
            instanceof com.netflix.config.ExpandedConfigurationListenerAdapter
            ifeq 15
        11: .line 422
            aload 4 /* l */
            checkcast com.netflix.config.ExpandedConfigurationListenerAdapter
            invokevirtual com.netflix.config.ExpandedConfigurationListenerAdapter.getListener:()Lcom/netflix/config/PropertyListener;
            instanceof com.netflix.config.DynamicProperty$DynamicPropertyListener
        12: .line 423
            ifeq 15
        13: .line 424
            aload 4 /* l */
            astore 3 /* dynamicPropertyListener */
        14: .line 425
            goto 16
        end local 4 // org.apache.commons.configuration.event.ConfigurationListener l
        15: .line 420
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        16: .line 428
      StackMap locals: com.netflix.config.ConcurrentCompositeConfiguration com.netflix.config.DynamicURLConfiguration java.util.Collection org.apache.commons.configuration.event.ConfigurationListener
      StackMap stack:
            aload 3 /* dynamicPropertyListener */
            ifnull 18
        17: .line 429
            aload 0 /* defaultConfig */
            aload 3 /* dynamicPropertyListener */
            invokevirtual com.netflix.config.ConcurrentCompositeConfiguration.removeConfigurationListener:(Lorg/apache/commons/configuration/event/ConfigurationListener;)Z
            pop
        18: .line 431
      StackMap locals:
      StackMap stack:
            getstatic com.netflix.config.ConfigurationManager.configMBean:Lcom/netflix/config/jmx/ConfigMBean;
            ifnull 23
        19: .line 433
            aload 0 /* defaultConfig */
            getstatic com.netflix.config.ConfigurationManager.configMBean:Lcom/netflix/config/jmx/ConfigMBean;
            invokestatic com.netflix.config.jmx.ConfigJMXManager.unRegisterConfigMBean:(Lorg/apache/commons/configuration/AbstractConfiguration;Lcom/netflix/config/jmx/ConfigMBean;)V
        20: .line 434
            goto 23
      StackMap locals:
      StackMap stack: java.lang.Exception
        21: astore 4 /* e */
        start local 4 // java.lang.Exception e
        22: .line 435
            getstatic com.netflix.config.ConfigurationManager.logger:Lorg/slf4j/Logger;
            ldc "Error unregistering with JMX"
            aload 4 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Exception e
        23: .line 438
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic com.netflix.config.ConfigurationManager.instance:Lorg/apache/commons/configuration/AbstractConfiguration;
        24: .line 439
            return
        end local 3 // org.apache.commons.configuration.event.ConfigurationListener dynamicPropertyListener
        end local 2 // java.util.Collection listeners
        end local 1 // com.netflix.config.DynamicURLConfiguration defaultFileConfig
        end local 0 // com.netflix.config.ConcurrentCompositeConfiguration defaultConfig
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            3   25     0            defaultConfig  Lcom/netflix/config/ConcurrentCompositeConfiguration;
            4   25     1        defaultFileConfig  Lcom/netflix/config/DynamicURLConfiguration;
            7   25     2                listeners  Ljava/util/Collection<Lorg/apache/commons/configuration/event/ConfigurationListener;>;
            8   25     3  dynamicPropertyListener  Lorg/apache/commons/configuration/event/ConfigurationListener;
           10   15     4                        l  Lorg/apache/commons/configuration/event/ConfigurationListener;
           22   23     4                        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          19    20      21  Class java.lang.Exception

  public static org.apache.commons.configuration.AbstractConfiguration getConfigFromPropertiesFile(java.net.URL);
    descriptor: (Ljava/net/URL;)Lorg/apache/commons/configuration/AbstractConfiguration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.net.URL startingUrl
         0: .line 443
            aload 0 /* startingUrl */
         1: .line 444
            invokestatic com.netflix.config.ConfigurationManager.getLoadedPropertiesURLs:()Ljava/util/Set;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "@next"
            aastore
            dup
            iconst_1
            ldc "netflixconfiguration.properties.nextLoad"
            aastore
         2: .line 443
            invokestatic com.netflix.config.util.ConfigurationUtils.getConfigFromPropertiesFile:(Ljava/net/URL;Ljava/util/Set;[Ljava/lang/String;)Lorg/apache/commons/configuration/AbstractConfiguration;
            areturn
        end local 0 // java.net.URL startingUrl
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  startingUrl  Ljava/net/URL;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
             Name  Flags
      startingUrl  

  public static java.util.Properties getPropertiesFromFile(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/util/Properties;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.net.URL startingUrl
         0: .line 449
            aload 0 /* startingUrl */
            invokestatic com.netflix.config.ConfigurationManager.getLoadedPropertiesURLs:()Ljava/util/Set;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "@next"
            aastore
            dup
            iconst_1
            ldc "netflixconfiguration.properties.nextLoad"
            aastore
            invokestatic com.netflix.config.util.ConfigurationUtils.getPropertiesFromFile:(Ljava/net/URL;Ljava/util/Set;[Ljava/lang/String;)Ljava/util/Properties;
            areturn
        end local 0 // java.net.URL startingUrl
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  startingUrl  Ljava/net/URL;
    Exceptions:
      throws java.io.FileNotFoundException
    MethodParameters:
             Name  Flags
      startingUrl  
}
SourceFile: "ConfigurationManager.java"
InnerClasses:
  public final ContextKey = com.netflix.config.DeploymentContext$ContextKey of com.netflix.config.DeploymentContext
  DynamicPropertyListener = com.netflix.config.DynamicProperty$DynamicPropertyListener of com.netflix.config.DynamicProperty