public class com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader implements com.datastax.oss.driver.api.core.config.DriverConfigLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader
  super_class: java.lang.Object
{
  private final com.datastax.oss.driver.api.core.config.DriverConfigLoader primaryConfigLoader;
    descriptor: Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.datastax.oss.driver.api.core.config.DriverConfigLoader fallbackConfigLoader;
    descriptor: Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(com.datastax.oss.driver.api.core.config.DriverConfigLoader, com.datastax.oss.driver.api.core.config.DriverConfigLoader);
    descriptor: (Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
        start local 1 // com.datastax.oss.driver.api.core.config.DriverConfigLoader primaryConfigLoader
        start local 2 // com.datastax.oss.driver.api.core.config.DriverConfigLoader fallbackConfigLoader
         0: .line 32
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            aload 1 /* primaryConfigLoader */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.config.DriverConfigLoader
            putfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.primaryConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
         2: .line 36
            aload 0 /* this */
            aload 2 /* fallbackConfigLoader */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.config.DriverConfigLoader
            putfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.fallbackConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
         3: .line 37
            return
        end local 2 // com.datastax.oss.driver.api.core.config.DriverConfigLoader fallbackConfigLoader
        end local 1 // com.datastax.oss.driver.api.core.config.DriverConfigLoader primaryConfigLoader
        end local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lcom/datastax/oss/driver/internal/core/config/composite/CompositeDriverConfigLoader;
            0    4     1   primaryConfigLoader  Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            0    4     2  fallbackConfigLoader  Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                      Name  Flags
      primaryConfigLoader   
      fallbackConfigLoader  

  public com.datastax.oss.driver.api.core.config.DriverConfig getInitialConfig();
    descriptor: ()Lcom/datastax/oss/driver/api/core/config/DriverConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
         0: .line 42
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.primaryConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.getInitialConfig:()Lcom/datastax/oss/driver/api/core/config/DriverConfig;
            astore 1 /* primaryConfig */
        start local 1 // com.datastax.oss.driver.api.core.config.DriverConfig primaryConfig
         1: .line 43
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.fallbackConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.getInitialConfig:()Lcom/datastax/oss/driver/api/core/config/DriverConfig;
            astore 2 /* fallbackConfig */
        start local 2 // com.datastax.oss.driver.api.core.config.DriverConfig fallbackConfig
         2: .line 44
            new com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfig
            dup
            aload 1 /* primaryConfig */
            aload 2 /* fallbackConfig */
            invokespecial com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfig.<init>:(Lcom/datastax/oss/driver/api/core/config/DriverConfig;Lcom/datastax/oss/driver/api/core/config/DriverConfig;)V
            areturn
        end local 2 // com.datastax.oss.driver.api.core.config.DriverConfig fallbackConfig
        end local 1 // com.datastax.oss.driver.api.core.config.DriverConfig primaryConfig
        end local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lcom/datastax/oss/driver/internal/core/config/composite/CompositeDriverConfigLoader;
            1    3     1   primaryConfig  Lcom/datastax/oss/driver/api/core/config/DriverConfig;
            2    3     2  fallbackConfig  Lcom/datastax/oss/driver/api/core/config/DriverConfig;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public void onDriverInit(com.datastax.oss.driver.api.core.context.DriverContext);
    descriptor: (Lcom/datastax/oss/driver/api/core/context/DriverContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
        start local 1 // com.datastax.oss.driver.api.core.context.DriverContext context
         0: .line 49
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.fallbackConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            aload 1 /* context */
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.onDriverInit:(Lcom/datastax/oss/driver/api/core/context/DriverContext;)V
         1: .line 50
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.primaryConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            aload 1 /* context */
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.onDriverInit:(Lcom/datastax/oss/driver/api/core/context/DriverContext;)V
         2: .line 51
            return
        end local 1 // com.datastax.oss.driver.api.core.context.DriverContext context
        end local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/datastax/oss/driver/internal/core/config/composite/CompositeDriverConfigLoader;
            0    3     1  context  Lcom/datastax/oss/driver/api/core/context/DriverContext;
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
         Name  Flags
      context  

  public java.util.concurrent.CompletionStage<java.lang.Boolean> reload();
    descriptor: ()Ljava/util/concurrent/CompletionStage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
         0: .line 56
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.primaryConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.supportsReloading:()Z
            ifne 5
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.fallbackConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.supportsReloading:()Z
            ifne 5
         1: .line 58
            new java.lang.UnsupportedOperationException
            dup
         2: .line 59
            ldc "Reloading is not supported (this is a composite config, and neither the primary nor the fallback are reloadable)"
         3: .line 58
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
         4: .line 57
            invokestatic com.datastax.oss.driver.internal.core.util.concurrent.CompletableFutures.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
            areturn
         5: .line 61
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.primaryConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.supportsReloading:()Z
            ifne 7
         6: .line 62
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.fallbackConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.reload:()Ljava/util/concurrent/CompletionStage;
            areturn
         7: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.fallbackConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.supportsReloading:()Z
            ifne 9
         8: .line 64
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.primaryConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.reload:()Ljava/util/concurrent/CompletionStage;
            areturn
         9: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.primaryConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.reload:()Ljava/util/concurrent/CompletionStage;
            astore 1 /* primaryFuture */
        start local 1 // java.util.concurrent.CompletionStage primaryFuture
        10: .line 67
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.fallbackConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.reload:()Ljava/util/concurrent/CompletionStage;
            astore 2 /* fallbackFuture */
        start local 2 // java.util.concurrent.CompletionStage fallbackFuture
        11: .line 68
            new java.util.concurrent.CompletableFuture
            dup
            invokespecial java.util.concurrent.CompletableFuture.<init>:()V
            astore 3 /* compositeFuture */
        start local 3 // java.util.concurrent.CompletableFuture compositeFuture
        12: .line 69
            aload 1 /* primaryFuture */
        13: .line 70
            aload 2 /* fallbackFuture */
            aload 3 /* compositeFuture */
            invokedynamic accept(Ljava/util/concurrent/CompletionStage;Ljava/util/concurrent/CompletableFuture;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  com/datastax/oss/driver/internal/core/config/composite/CompositeDriverConfigLoader.lambda$0(Ljava/util/concurrent/CompletionStage;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Boolean;Ljava/lang/Throwable;)V (6)
                  (Ljava/lang/Boolean;Ljava/lang/Throwable;)V
        14: .line 69
            invokeinterface java.util.concurrent.CompletionStage.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;
            pop
        15: .line 84
            aload 3 /* compositeFuture */
            areturn
        end local 3 // java.util.concurrent.CompletableFuture compositeFuture
        end local 2 // java.util.concurrent.CompletionStage fallbackFuture
        end local 1 // java.util.concurrent.CompletionStage primaryFuture
        end local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lcom/datastax/oss/driver/internal/core/config/composite/CompositeDriverConfigLoader;
           10   16     1    primaryFuture  Ljava/util/concurrent/CompletionStage<Ljava/lang/Boolean;>;
           11   16     2   fallbackFuture  Ljava/util/concurrent/CompletionStage<Ljava/lang/Boolean;>;
           12   16     3  compositeFuture  Ljava/util/concurrent/CompletableFuture<Ljava/lang/Boolean;>;
    Signature: ()Ljava/util/concurrent/CompletionStage<Ljava/lang/Boolean;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public boolean supportsReloading();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
         0: .line 90
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.primaryConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.supportsReloading:()Z
            ifne 1
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.fallbackConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.supportsReloading:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/datastax/oss/driver/internal/core/config/composite/CompositeDriverConfigLoader;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
         0: .line 95
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.primaryConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.close:()V
         1: .line 96
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader.fallbackConfigLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.close:()V
         2: .line 97
            return
        end local 0 // com.datastax.oss.driver.internal.core.config.composite.CompositeDriverConfigLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/datastax/oss/driver/internal/core/config/composite/CompositeDriverConfigLoader;

  private static void lambda$0(java.util.concurrent.CompletionStage, java.util.concurrent.CompletableFuture, java.lang.Boolean, java.lang.Throwable);
    descriptor: (Ljava/util/concurrent/CompletionStage;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Boolean;Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 2 // java.lang.Boolean primaryChanged
        start local 3 // java.lang.Throwable primaryError
         0: .line 71
            aload 0
         1: .line 72
            aload 3 /* primaryError */
            aload 1
            aload 2 /* primaryChanged */
            invokedynamic accept(Ljava/lang/Throwable;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Boolean;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  com/datastax/oss/driver/internal/core/config/composite/CompositeDriverConfigLoader.lambda$1(Ljava/lang/Throwable;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Throwable;)V (6)
                  (Ljava/lang/Boolean;Ljava/lang/Throwable;)V
         2: .line 71
            invokeinterface java.util.concurrent.CompletionStage.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;
         3: .line 83
            return
        end local 3 // java.lang.Throwable primaryError
        end local 2 // java.lang.Boolean primaryChanged
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     2  primaryChanged  Ljava/lang/Boolean;
            0    4     3    primaryError  Ljava/lang/Throwable;

  private static void lambda$1(java.lang.Throwable, java.util.concurrent.CompletableFuture, java.lang.Boolean, java.lang.Boolean, java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=5, args_size=5
        start local 3 // java.lang.Boolean fallbackChanged
        start local 4 // java.lang.Throwable fallbackError
         0: .line 73
            aload 0
            ifnonnull 5
            aload 4 /* fallbackError */
            ifnonnull 5
         1: .line 74
            aload 1
            aload 2
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 2
            aload 3 /* fallbackChanged */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack: java.util.concurrent.CompletableFuture
         2: iconst_1
      StackMap locals: java.lang.Throwable java.util.concurrent.CompletableFuture java.lang.Boolean java.lang.Boolean java.lang.Throwable
      StackMap stack: java.util.concurrent.CompletableFuture int
         3: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
            pop
         4: .line 75
            goto 13
      StackMap locals:
      StackMap stack:
         5: aload 4 /* fallbackError */
            ifnonnull 8
         6: .line 76
            aload 1
            aload 0
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
         7: .line 77
            goto 13
      StackMap locals:
      StackMap stack:
         8: aload 0
            ifnonnull 11
         9: .line 78
            aload 1
            aload 4 /* fallbackError */
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
        10: .line 79
            goto 13
        11: .line 80
      StackMap locals:
      StackMap stack:
            aload 0
            aload 4 /* fallbackError */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        12: .line 81
            aload 1
            aload 0
            invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
            pop
        13: .line 83
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Throwable fallbackError
        end local 3 // java.lang.Boolean fallbackChanged
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     3  fallbackChanged  Ljava/lang/Boolean;
            0   14     4    fallbackError  Ljava/lang/Throwable;
}
SourceFile: "CompositeDriverConfigLoader.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles