class com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base extends com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base
  super_class: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile
{
  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private volatile java.util.Set<com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Derived> derivedProfiles;
    descriptor: Ljava/util/Set;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/util/Set<Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Derived;>;

  void <init>(java.lang.String, com.typesafe.config.Config);
    descriptor: (Ljava/lang/String;Lcom/typesafe/config/Config;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
        start local 1 // java.lang.String name
        start local 2 // com.typesafe.config.Config options
         0: .line 314
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile.<init>:()V
         1: .line 315
            aload 0 /* this */
            aload 1 /* name */
            putfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.name:Ljava/lang/String;
         2: .line 316
            aload 0 /* this */
            aload 2 /* options */
            putfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.options:Lcom/typesafe/config/Config;
         3: .line 317
            return
        end local 2 // com.typesafe.config.Config options
        end local 1 // java.lang.String name
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;
            0    4     1     name  Ljava/lang/String;
            0    4     2  options  Lcom/typesafe/config/Config;
    MethodParameters:
         Name  Flags
      name     
      options  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
         0: .line 322
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.name:Ljava/lang/String;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  protected com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base getBaseProfile();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
         0: .line 327
            aload 0 /* this */
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;

  protected com.typesafe.config.Config getAddedOptions();
    descriptor: ()Lcom/typesafe/config/Config;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
         0: .line 332
            invokestatic com.typesafe.config.ConfigFactory.empty:()Lcom/typesafe/config/Config;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;

  protected com.typesafe.config.Config getEffectiveOptions();
    descriptor: ()Lcom/typesafe/config/Config;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
         0: .line 337
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.options:Lcom/typesafe/config/Config;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;

  void refresh(com.typesafe.config.Config);
    descriptor: (Lcom/typesafe/config/Config;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
        start local 1 // com.typesafe.config.Config newOptions
         0: .line 341
            aload 0 /* this */
            aload 1 /* newOptions */
            putfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.options:Lcom/typesafe/config/Config;
         1: .line 342
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.cache:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
         2: .line 343
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.derivedProfiles:Ljava/util/Set;
            ifnull 7
         3: .line 344
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.derivedProfiles:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base com.typesafe.config.Config top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Derived
            astore 2 /* derivedProfile */
        start local 2 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Derived derivedProfile
         5: .line 345
            aload 2 /* derivedProfile */
            invokevirtual com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Derived.refresh:()V
        end local 2 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Derived derivedProfile
         6: .line 344
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 348
      StackMap locals: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base com.typesafe.config.Config
      StackMap stack:
            return
        end local 1 // com.typesafe.config.Config newOptions
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;
            0    8     1      newOptions  Lcom/typesafe/config/Config;
            5    6     2  derivedProfile  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Derived;
    MethodParameters:
            Name  Flags
      newOptions  

  void register(com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Derived);
    descriptor: (Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Derived;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
        start local 1 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Derived derivedProfile
         0: .line 351
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.getDerivedProfiles:()Ljava/util/Set;
            aload 1 /* derivedProfile */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 352
            return
        end local 1 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Derived derivedProfile
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;
            0    2     1  derivedProfile  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Derived;
    MethodParameters:
                Name  Flags
      derivedProfile  

  private java.util.Set<com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Derived> getDerivedProfiles();
    descriptor: ()Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
         0: .line 356
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.derivedProfiles:Ljava/util/Set;
            astore 1 /* result */
        start local 1 // java.util.Set result
         1: .line 357
            aload 1 /* result */
            ifnonnull 12
         2: .line 358
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 359
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.derivedProfiles:Ljava/util/Set;
            astore 1 /* result */
         4: .line 360
            aload 1 /* result */
            ifnonnull 8
         5: .line 361
            aload 0 /* this */
         6: .line 362
            new com.datastax.oss.driver.shaded.guava.common.collect.MapMaker
            dup
            invokespecial com.datastax.oss.driver.shaded.guava.common.collect.MapMaker.<init>:()V
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.MapMaker.weakKeys:()Lcom/datastax/oss/driver/shaded/guava/common/collect/MapMaker;
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.MapMaker.makeMap:()Ljava/util/concurrent/ConcurrentMap;
            invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
            dup
            astore 1 /* result */
         7: .line 361
            putfield com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base.derivedProfiles:Ljava/util/Set;
         8: .line 358
      StackMap locals: java.util.Set com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base
      StackMap stack:
            aload 2
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 366
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.util.Set result
        end local 0 // com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Base;
            1   13     1  result  Ljava/util/Set<Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Derived;>;
      Exception table:
        from    to  target  type
           3     9      10  any
          10    11      10  any
    Signature: ()Ljava/util/Set<Lcom/datastax/oss/driver/internal/core/config/typesafe/TypesafeDriverExecutionProfile$Derived;>;
}
SourceFile: "TypesafeDriverExecutionProfile.java"
NestHost: com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile
InnerClasses:
  Base = com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Base of com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile
  Derived = com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile$Derived of com.datastax.oss.driver.internal.core.config.typesafe.TypesafeDriverExecutionProfile
    RuntimeVisibleAnnotations: 
      net.jcip.annotations.ThreadSafe()