public class com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig implements com.datastax.oss.driver.api.core.config.DriverConfig
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.typesafe.config.ConfigOrigin DEFAULT_OVERRIDES_ORIGIN;
    descriptor: Lcom/typesafe/config/ConfigOrigin;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap<java.lang.String, com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base> profiles;
    descriptor: Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap<Ljava/lang/String;Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;>;

  private volatile com.typesafe.config.Config lastLoadedConfig;
    descriptor: Lcom/typesafe/config/Config;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.util.Map<com.datastax.oss.driver.api.core.config.DriverOption, java.lang.Object> defaultOverrides;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Object;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 43
            ldc Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverConfig;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.LOG:Lorg/slf4j/Logger;
         1: .line 45
            ldc "default was overridden programmatically"
            invokestatic com.typesafe.config.ConfigOriginFactory.newSimple:(Ljava/lang/String;)Lcom/typesafe/config/ConfigOrigin;
         2: .line 44
            putstatic com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.DEFAULT_OVERRIDES_ORIGIN:Lcom/typesafe/config/ConfigOrigin;
         3: .line 45
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.typesafe.config.Config);
    descriptor: (Lcom/typesafe/config/Config;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
        start local 1 // com.typesafe.config.Config config
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 51
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.defaultOverrides:Ljava/util/Map;
         2: .line 54
            aload 0 /* this */
            aload 1 /* config */
            putfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.lastLoadedConfig:Lcom/typesafe/config/Config;
         3: .line 55
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.extractProfiles:(Lcom/typesafe/config/Config;)Ljava/util/Map;
            astore 2 /* profileConfigs */
        start local 2 // java.util.Map profileConfigs
         4: .line 58
            invokestatic com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap.builder:()Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap$Builder;
         5: .line 57
            astore 3 /* builder */
        start local 3 // com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder builder
         6: .line 59
            aload 2 /* profileConfigs */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config java.util.Map com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         8: .line 60
            aload 3 /* builder */
         9: .line 61
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
        10: .line 62
            new com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base
            dup
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.typesafe.config.Config
            invokespecial com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.<init>:(Ljava/lang/String;Lcom/typesafe/config/Config;)V
        11: .line 60
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap$Builder;
            pop
        end local 4 // java.util.Map$Entry entry
        12: .line 59
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        13: .line 64
            aload 0 /* this */
            aload 3 /* builder */
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder.build:()Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap;
            putfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.profiles:Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap;
        14: .line 65
            return
        end local 3 // com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder builder
        end local 2 // java.util.Map profileConfigs
        end local 1 // com.typesafe.config.Config config
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverConfig;
            0   15     1          config  Lcom/typesafe/config/Config;
            4   15     2  profileConfigs  Ljava/util/Map<Ljava/lang/String;Lcom/typesafe/config/Config;>;
            6   15     3         builder  Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap$Builder<Ljava/lang/String;Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;>;
            8   12     4           entry  Ljava/util/Map$Entry<Ljava/lang/String;Lcom/typesafe/config/Config;>;
    MethodParameters:
        Name  Flags
      config  

  public boolean reload(com.typesafe.config.Config);
    descriptor: (Lcom/typesafe/config/Config;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
        start local 1 // com.typesafe.config.Config config
         0: .line 69
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.applyDefaultOverrides:(Lcom/typesafe/config/Config;)Lcom/typesafe/config/Config;
            astore 1 /* config */
         1: .line 70
            aload 1 /* config */
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.lastLoadedConfig:Lcom/typesafe/config/Config;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 71
            iconst_0
            ireturn
         3: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* config */
            putfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.lastLoadedConfig:Lcom/typesafe/config/Config;
         4: .line 75
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.extractProfiles:(Lcom/typesafe/config/Config;)Ljava/util/Map;
            astore 2 /* profileConfigs */
        start local 2 // java.util.Map profileConfigs
         5: .line 76
            aload 2 /* profileConfigs */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 16
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config java.util.Map top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         7: .line 77
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* profileName */
        start local 5 // java.lang.String profileName
         8: .line 78
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.profiles:Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap;
            aload 5 /* profileName */
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base
            astore 6 /* profile */
        start local 6 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base profile
         9: .line 79
            aload 6 /* profile */
            ifnonnull 15
        10: .line 80
            getstatic com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.LOG:Lorg/slf4j/Logger;
        11: .line 81
            ldc "Unknown profile '{}' while reloading configuration. Adding profiles at runtime is not supported."
        12: .line 83
            aload 5 /* profileName */
        13: .line 80
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
        14: .line 84
            goto 16
        15: .line 85
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base
      StackMap stack:
            aload 6 /* profile */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.typesafe.config.Config
            invokevirtual com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.refresh:(Lcom/typesafe/config/Config;)V
        end local 6 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base profile
        end local 5 // java.lang.String profileName
        end local 3 // java.util.Map$Entry entry
        16: .line 76
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        17: .line 88
            iconst_1
            ireturn
        end local 2 // java.util.Map profileConfigs
        18: .line 89
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        19: .line 90
            getstatic com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.LOG:Lorg/slf4j/Logger;
            ldc "Error reloading configuration, keeping previous one"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* t */
            aastore
            invokestatic com.datastax.oss.driver.internal.core.util.Loggers.warnWithException:(Lorg/slf4j/Logger;Ljava/lang/String;[Ljava/lang/Object;)V
        20: .line 91
            iconst_0
            ireturn
        end local 2 // java.lang.Throwable t
        end local 1 // com.typesafe.config.Config config
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverConfig;
            0   21     1          config  Lcom/typesafe/config/Config;
            5   18     2  profileConfigs  Ljava/util/Map<Ljava/lang/String;Lcom/typesafe/config/Config;>;
            7   16     3           entry  Ljava/util/Map$Entry<Ljava/lang/String;Lcom/typesafe/config/Config;>;
            8   16     5     profileName  Ljava/lang/String;
            9   16     6         profile  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;
           19   21     2               t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    17      18  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      config  

  private java.util.Map<java.lang.String, com.typesafe.config.Config> extractProfiles(com.typesafe.config.Config);
    descriptor: (Lcom/typesafe/config/Config;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
        start local 1 // com.typesafe.config.Config sourceConfig
         0: .line 109
            invokestatic com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap.builder:()Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap$Builder;
            astore 2 /* result */
        start local 2 // com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder result
         1: .line 111
            aload 1 /* sourceConfig */
            ldc "profiles"
            invokeinterface com.typesafe.config.Config.withoutPath:(Ljava/lang/String;)Lcom/typesafe/config/Config;
            astore 3 /* defaultProfileConfig */
        start local 3 // com.typesafe.config.Config defaultProfileConfig
         2: .line 112
            aload 2 /* result */
            ldc "default"
            aload 3 /* defaultProfileConfig */
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap$Builder;
            pop
         3: .line 119
            aload 1 /* sourceConfig */
            invokeinterface com.typesafe.config.Config.root:()Lcom/typesafe/config/ConfigObject;
            astore 4 /* rootObject */
        start local 4 // com.typesafe.config.ConfigObject rootObject
         4: .line 120
            aload 4 /* rootObject */
            ldc "profiles"
            invokeinterface com.typesafe.config.ConfigObject.containsKey:(Ljava/lang/Object;)Z
            ifeq 19
            aload 4 /* rootObject */
            ldc "profiles"
            invokeinterface com.typesafe.config.ConfigObject.get:(Ljava/lang/Object;)Lcom/typesafe/config/ConfigValue;
            invokeinterface com.typesafe.config.ConfigValue.valueType:()Lcom/typesafe/config/ConfigValueType;
            getstatic com.typesafe.config.ConfigValueType.OBJECT:Lcom/typesafe/config/ConfigValueType;
            if_acmpne 19
         5: .line 121
            aload 4 /* rootObject */
            ldc "profiles"
            invokeinterface com.typesafe.config.ConfigObject.get:(Ljava/lang/Object;)Lcom/typesafe/config/ConfigValue;
            checkcast com.typesafe.config.ConfigObject
            astore 5 /* profilesObject */
        start local 5 // com.typesafe.config.ConfigObject profilesObject
         6: .line 122
            aload 5 /* profilesObject */
            invokeinterface com.typesafe.config.ConfigObject.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 18
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder com.typesafe.config.Config com.typesafe.config.ConfigObject com.typesafe.config.ConfigObject top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* profileName */
        start local 6 // java.lang.String profileName
         8: .line 123
            aload 6 /* profileName */
            ldc "default"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
         9: .line 124
            new java.lang.IllegalArgumentException
            dup
        10: .line 126
            ldc "Can't have %s as a profile name because it's used internally. Pick another name."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        11: .line 127
            aload 6 /* profileName */
            aastore
        12: .line 125
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        13: .line 124
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 129
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder com.typesafe.config.Config com.typesafe.config.ConfigObject com.typesafe.config.ConfigObject java.lang.String java.util.Iterator
      StackMap stack:
            aload 5 /* profilesObject */
            aload 6 /* profileName */
            invokeinterface com.typesafe.config.ConfigObject.get:(Ljava/lang/Object;)Lcom/typesafe/config/ConfigValue;
            astore 8 /* profileObject */
        start local 8 // com.typesafe.config.ConfigValue profileObject
        15: .line 130
            aload 8 /* profileObject */
            invokeinterface com.typesafe.config.ConfigValue.valueType:()Lcom/typesafe/config/ConfigValueType;
            getstatic com.typesafe.config.ConfigValueType.OBJECT:Lcom/typesafe/config/ConfigValueType;
            if_acmpne 18
        16: .line 131
            aload 8 /* profileObject */
            checkcast com.typesafe.config.ConfigObject
            invokeinterface com.typesafe.config.ConfigObject.toConfig:()Lcom/typesafe/config/Config;
            astore 9 /* profileConfig */
        start local 9 // com.typesafe.config.Config profileConfig
        17: .line 132
            aload 2 /* result */
            aload 6 /* profileName */
            aload 9 /* profileConfig */
            aload 3 /* defaultProfileConfig */
            invokeinterface com.typesafe.config.Config.withFallback:(Lcom/typesafe/config/ConfigMergeable;)Lcom/typesafe/config/Config;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap$Builder;
            pop
        end local 9 // com.typesafe.config.Config profileConfig
        end local 8 // com.typesafe.config.ConfigValue profileObject
        end local 6 // java.lang.String profileName
        18: .line 122
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder com.typesafe.config.Config com.typesafe.config.ConfigObject com.typesafe.config.ConfigObject top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 5 // com.typesafe.config.ConfigObject profilesObject
        19: .line 136
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder com.typesafe.config.Config com.typesafe.config.ConfigObject
      StackMap stack:
            aload 2 /* result */
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder.build:()Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap;
            areturn
        end local 4 // com.typesafe.config.ConfigObject rootObject
        end local 3 // com.typesafe.config.Config defaultProfileConfig
        end local 2 // com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder result
        end local 1 // com.typesafe.config.Config sourceConfig
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   20     0                  this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverConfig;
            0   20     1          sourceConfig  Lcom/typesafe/config/Config;
            1   20     2                result  Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap$Builder<Ljava/lang/String;Lcom/typesafe/config/Config;>;
            2   20     3  defaultProfileConfig  Lcom/typesafe/config/Config;
            4   20     4            rootObject  Lcom/typesafe/config/ConfigObject;
            6   19     5        profilesObject  Lcom/typesafe/config/ConfigObject;
            8   18     6           profileName  Ljava/lang/String;
           15   18     8         profileObject  Lcom/typesafe/config/ConfigValue;
           17   18     9         profileConfig  Lcom/typesafe/config/Config;
    Signature: (Lcom/typesafe/config/Config;)Ljava/util/Map<Ljava/lang/String;Lcom/typesafe/config/Config;>;
    MethodParameters:
              Name  Flags
      sourceConfig  

  public com.datastax.oss.driver.api.core.config.DriverExecutionProfile getProfile(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/config/DriverExecutionProfile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
        start local 1 // java.lang.String profileName
         0: .line 143
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.profiles:Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap;
            aload 1 /* profileName */
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap.containsKey:(Ljava/lang/Object;)Z
         1: .line 144
            ldc "Unknown profile '%s'. Check your configuration."
         2: .line 145
            aload 1 /* profileName */
         3: .line 142
            invokestatic com.datastax.oss.driver.shaded.guava.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         4: .line 146
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.profiles:Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap;
            aload 1 /* profileName */
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.config.DriverExecutionProfile
            areturn
        end local 1 // java.lang.String profileName
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverConfig;
            0    5     1  profileName  Ljava/lang/String;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
             Name  Flags
      profileName  

  public java.util.Map<java.lang.String, ? extends com.datastax.oss.driver.api.core.config.DriverExecutionProfile> getProfiles();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
         0: .line 152
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.profiles:Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverConfig;
    Signature: ()Ljava/util/Map<Ljava/lang/String;+Lcom/datastax/oss/driver/api/core/config/DriverExecutionProfile;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public void overrideDefaults(java.util.Map<com.datastax.oss.driver.api.core.config.DriverOption, java.lang.Object>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
        start local 1 // java.util.Map overrides
         0: .line 165
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.defaultOverrides:Ljava/util/Map;
            aload 1 /* overrides */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         1: .line 166
            aload 0 /* this */
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.lastLoadedConfig:Lcom/typesafe/config/Config;
            invokevirtual com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.reload:(Lcom/typesafe/config/Config;)Z
            pop
         2: .line 167
            return
        end local 1 // java.util.Map overrides
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverConfig;
            0    3     1  overrides  Ljava/util/Map<Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Object;>;
    Signature: (Ljava/util/Map<Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Object;>;)V
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
           Name  Flags
      overrides  

  private com.typesafe.config.Config applyDefaultOverrides(com.typesafe.config.Config);
    descriptor: (Lcom/typesafe/config/Config;)Lcom/typesafe/config/Config;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
        start local 1 // com.typesafe.config.Config source
         0: .line 170
            aload 1 /* source */
            astore 2 /* result */
        start local 2 // com.typesafe.config.Config result
         1: .line 171
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.defaultOverrides:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config com.typesafe.config.Config top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         3: .line 172
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.config.DriverOption
            invokeinterface com.datastax.oss.driver.api.core.config.DriverOption.getPath:()Ljava/lang/String;
            astore 5 /* path */
        start local 5 // java.lang.String path
         4: .line 173
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 6 /* value */
        start local 6 // java.lang.Object value
         5: .line 174
            aload 1 /* source */
            aload 5 /* path */
            invokestatic com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.isDefault:(Lcom/typesafe/config/Config;Ljava/lang/String;)Z
            ifeq 12
         6: .line 175
            getstatic com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.LOG:Lorg/slf4j/Logger;
            ldc "Replacing default value for {} by {}"
            aload 5 /* path */
            aload 6 /* value */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 177
            aload 2 /* result */
         8: .line 178
            aload 5 /* path */
            aload 6 /* value */
            invokestatic com.typesafe.config.ConfigValueFactory.fromAnyRef:(Ljava/lang/Object;)Lcom/typesafe/config/ConfigValue;
            getstatic com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.DEFAULT_OVERRIDES_ORIGIN:Lcom/typesafe/config/ConfigOrigin;
            invokeinterface com.typesafe.config.ConfigValue.withOrigin:(Lcom/typesafe/config/ConfigOrigin;)Lcom/typesafe/config/ConfigValue;
         9: .line 177
            invokeinterface com.typesafe.config.Config.withValue:(Ljava/lang/String;Lcom/typesafe/config/ConfigValue;)Lcom/typesafe/config/Config;
        10: .line 176
            astore 2 /* result */
        11: .line 179
            goto 15
        12: .line 180
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config com.typesafe.config.Config java.util.Map$Entry java.util.Iterator java.lang.String java.lang.Object
      StackMap stack:
            getstatic com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.LOG:Lorg/slf4j/Logger;
        13: .line 181
            ldc "Ignoring default override for {} because the user has overridden the value"
            aload 5 /* path */
        14: .line 180
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 6 // java.lang.Object value
        end local 5 // java.lang.String path
        end local 3 // java.util.Map$Entry entry
        15: .line 171
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig com.typesafe.config.Config com.typesafe.config.Config top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        16: .line 184
            aload 2 /* result */
            areturn
        end local 2 // com.typesafe.config.Config result
        end local 1 // com.typesafe.config.Config source
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverConfig;
            0   17     1  source  Lcom/typesafe/config/Config;
            1   17     2  result  Lcom/typesafe/config/Config;
            3   15     3   entry  Ljava/util/Map$Entry<Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Object;>;
            4   15     5    path  Ljava/lang/String;
            5   15     6   value  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      source  

  private static boolean isDefault(com.typesafe.config.Config, java.lang.String);
    descriptor: (Lcom/typesafe/config/Config;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.typesafe.config.Config config
        start local 1 // java.lang.String path
         0: .line 189
            aload 0 /* config */
            aload 1 /* path */
            invokeinterface com.typesafe.config.Config.hasPath:(Ljava/lang/String;)Z
            ifne 2
         1: .line 190
            iconst_0
            ireturn
         2: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* config */
            aload 1 /* path */
            invokeinterface com.typesafe.config.Config.getValue:(Ljava/lang/String;)Lcom/typesafe/config/ConfigValue;
            invokeinterface com.typesafe.config.ConfigValue.origin:()Lcom/typesafe/config/ConfigOrigin;
            astore 2 /* origin */
        start local 2 // com.typesafe.config.ConfigOrigin origin
         3: .line 193
            aload 2 /* origin */
            getstatic com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverConfig.DEFAULT_OVERRIDES_ORIGIN:Lcom/typesafe/config/ConfigOrigin;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 195
            iconst_1
            ireturn
         5: .line 197
      StackMap locals: com.typesafe.config.ConfigOrigin
      StackMap stack:
            aload 2 /* origin */
            invokeinterface com.typesafe.config.ConfigOrigin.url:()Ljava/net/URL;
            astore 3 /* url */
        start local 3 // java.net.URL url
         6: .line 198
            aload 3 /* url */
            ifnull 7
            aload 3 /* url */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            ldc "reference.conf"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 7
            iconst_1
            ireturn
      StackMap locals: java.net.URL
      StackMap stack:
         7: iconst_0
            ireturn
        end local 3 // java.net.URL url
        end local 2 // com.typesafe.config.ConfigOrigin origin
        end local 1 // java.lang.String path
        end local 0 // com.typesafe.config.Config config
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  config  Lcom/typesafe/config/Config;
            0    8     1    path  Ljava/lang/String;
            3    8     2  origin  Lcom/typesafe/config/ConfigOrigin;
            6    8     3     url  Ljava/net/URL;
    MethodParameters:
        Name  Flags
      config  
      path    
}
SourceFile: "TypesafeDriverConfig.java"
InnerClasses:
  Base = com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base of com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile
  public Builder = com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder of com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeVisibleAnnotations: 
      net.jcip.annotations.ThreadSafe()