public class com.datastax.oss.driver.internal.core.context.DefaultDriverContext implements com.datastax.oss.driver.internal.core.context.InternalDriverContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.datastax.oss.driver.internal.core.context.DefaultDriverContext
  super_class: java.lang.Object
{
  private static final java.util.concurrent.atomic.AtomicInteger SESSION_NAME_COUNTER;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected final com.datastax.oss.driver.internal.core.util.concurrent.CycleDetector cycleDetector;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<java.util.Map<java.lang.String, com.datastax.oss.driver.api.core.loadbalancing.LoadBalancingPolicy>> loadBalancingPoliciesRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Ljava/util/Map<Ljava/lang/String;Lcom/datastax/oss/driver/api/core/loadbalancing/LoadBalancingPolicy;>;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.api.core.connection.ReconnectionPolicy> reconnectionPolicyRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/api/core/connection/ReconnectionPolicy;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<java.util.Map<java.lang.String, com.datastax.oss.driver.api.core.retry.RetryPolicy>> retryPoliciesRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Ljava/util/Map<Ljava/lang/String;Lcom/datastax/oss/driver/api/core/retry/RetryPolicy;>;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<java.util.Map<java.lang.String, com.datastax.oss.driver.api.core.specex.SpeculativeExecutionPolicy>> speculativeExecutionPoliciesRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Ljava/util/Map<Ljava/lang/String;Lcom/datastax/oss/driver/api/core/specex/SpeculativeExecutionPolicy;>;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.api.core.time.TimestampGenerator> timestampGeneratorRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/api/core/time/TimestampGenerator;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.api.core.addresstranslation.AddressTranslator> addressTranslatorRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/api/core/addresstranslation/AddressTranslator;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<java.util.Optional<com.datastax.oss.driver.api.core.ssl.SslEngineFactory>> sslEngineFactoryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;>;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.context.EventBus> eventBusRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/context/EventBus;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.protocol.internal.Compressor<io.netty.buffer.ByteBuf>> compressorRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/protocol/internal/Compressor<Lio/netty/buffer/ByteBuf;>;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.protocol.internal.FrameCodec<io.netty.buffer.ByteBuf>> frameCodecRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/protocol/internal/FrameCodec<Lio/netty/buffer/ByteBuf;>;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.ProtocolVersionRegistry> protocolVersionRegistryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/ProtocolVersionRegistry;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.ConsistencyLevelRegistry> consistencyLevelRegistryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/ConsistencyLevelRegistry;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.servererrors.WriteTypeRegistry> writeTypeRegistryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/servererrors/WriteTypeRegistry;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.context.NettyOptions> nettyOptionsRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/context/NettyOptions;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.channel.WriteCoalescer> writeCoalescerRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/channel/WriteCoalescer;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<java.util.Optional<com.datastax.oss.driver.internal.core.ssl.SslHandlerFactory>> sslHandlerFactoryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Ljava/util/Optional<Lcom/datastax/oss/driver/internal/core/ssl/SslHandlerFactory;>;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.channel.ChannelFactory> channelFactoryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/channel/ChannelFactory;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.metadata.TopologyMonitor> topologyMonitorRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/metadata/TopologyMonitor;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.metadata.MetadataManager> metadataManagerRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/metadata/MetadataManager;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.metadata.LoadBalancingPolicyWrapper> loadBalancingPolicyWrapperRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/metadata/LoadBalancingPolicyWrapper;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.control.ControlConnection> controlConnectionRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/control/ControlConnection;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.session.RequestProcessorRegistry> requestProcessorRegistryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/session/RequestProcessorRegistry;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.metadata.schema.queries.SchemaQueriesFactory> schemaQueriesFactoryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/metadata/schema/queries/SchemaQueriesFactory;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.metadata.schema.parsing.SchemaParserFactory> schemaParserFactoryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/metadata/schema/parsing/SchemaParserFactory;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.metadata.token.TokenFactoryRegistry> tokenFactoryRegistryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/metadata/token/TokenFactoryRegistry;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.metadata.token.ReplicationStrategyFactory> replicationStrategyFactoryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/metadata/token/ReplicationStrategyFactory;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.session.PoolManager> poolManagerRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/session/PoolManager;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.metrics.MetricsFactory> metricsFactoryRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/metrics/MetricsFactory;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.api.core.session.throttling.RequestThrottler> requestThrottlerRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/api/core/session/throttling/RequestThrottler;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<java.util.Map<java.lang.String, java.lang.String>> startupOptionsRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.api.core.metadata.NodeStateListener> nodeStateListenerRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener> schemaChangeListenerRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.api.core.tracker.RequestTracker> requestTrackerRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;>;

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<java.util.Optional<com.datastax.oss.driver.api.core.auth.AuthProvider>> authProviderRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/auth/AuthProvider;>;>;

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

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

  private final com.datastax.oss.driver.internal.core.pool.ChannelPoolFactory channelPoolFactory;
    descriptor: Lcom/datastax/oss/driver/internal/core/pool/ChannelPoolFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry codecRegistry;
    descriptor: Lcom/datastax/oss/driver/api/core/type/codec/registry/CodecRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sessionName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.datastax.oss.driver.api.core.metadata.NodeStateListener nodeStateListenerFromBuilder;
    descriptor: Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener schemaChangeListenerFromBuilder;
    descriptor: Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.datastax.oss.driver.api.core.tracker.RequestTracker requestTrackerFromBuilder;
    descriptor: Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.util.Map<java.lang.String, java.util.function.Predicate<com.datastax.oss.driver.api.core.metadata.Node>> nodeFiltersFromBuilder;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/function/Predicate<Lcom/datastax/oss/driver/api/core/metadata/Node;>;>;

  private final java.lang.ClassLoader classLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.net.InetSocketAddress cloudProxyAddress;
    descriptor: Ljava/net/InetSocketAddress;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.datastax.oss.driver.internal.core.util.concurrent.LazyReference<com.datastax.oss.driver.internal.core.tracker.RequestLogFormatter> requestLogFormatterRef;
    descriptor: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference<Lcom/datastax/oss/driver/internal/core/tracker/RequestLogFormatter;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 109
            ldc Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.datastax.oss.driver.internal.core.context.DefaultDriverContext.$assertionsDisabled:Z
         3: .line 111
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putstatic com.datastax.oss.driver.internal.core.context.DefaultDriverContext.SESSION_NAME_COUNTER:Ljava/util/concurrent/atomic/AtomicInteger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.datastax.oss.driver.api.core.config.DriverConfigLoader, com.datastax.oss.driver.api.core.session.ProgrammaticArguments);
    descriptor: (Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
        start local 1 // com.datastax.oss.driver.api.core.config.DriverConfigLoader configLoader
        start local 2 // com.datastax.oss.driver.api.core.session.ProgrammaticArguments programmaticArguments
         0: .line 205
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 113
            aload 0 /* this */
         2: .line 114
            new com.datastax.oss.driver.internal.core.util.concurrent.CycleDetector
            dup
            ldc "Detected cycle in context initialization"
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.CycleDetector.<init>:(Ljava/lang/String;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
         3: .line 116
            aload 0 /* this */
         4: .line 117
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "loadBalancingPolicies"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildLoadBalancingPolicies()Ljava/util/Map; (5)
                  ()Ljava/util/Map;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.loadBalancingPoliciesRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
         5: .line 118
            aload 0 /* this */
         6: .line 119
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "reconnectionPolicy"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildReconnectionPolicy()Lcom/datastax/oss/driver/api/core/connection/ReconnectionPolicy; (5)
                  ()Lcom/datastax/oss/driver/api/core/connection/ReconnectionPolicy;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.reconnectionPolicyRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
         7: .line 120
            aload 0 /* this */
         8: .line 121
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "retryPolicies"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildRetryPolicies()Ljava/util/Map; (5)
                  ()Ljava/util/Map;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.retryPoliciesRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
         9: .line 123
            aload 0 /* this */
        10: .line 124
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
        11: .line 125
            ldc "speculativeExecutionPolicies"
        12: .line 126
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildSpeculativeExecutionPolicies()Ljava/util/Map; (5)
                  ()Ljava/util/Map;
        13: .line 127
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
        14: .line 124
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.speculativeExecutionPoliciesRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        15: .line 128
            aload 0 /* this */
        16: .line 129
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "timestampGenerator"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildTimestampGenerator()Lcom/datastax/oss/driver/api/core/time/TimestampGenerator; (5)
                  ()Lcom/datastax/oss/driver/api/core/time/TimestampGenerator;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.timestampGeneratorRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        17: .line 130
            aload 0 /* this */
        18: .line 131
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "addressTranslator"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildAddressTranslator()Lcom/datastax/oss/driver/api/core/addresstranslation/AddressTranslator; (5)
                  ()Lcom/datastax/oss/driver/api/core/addresstranslation/AddressTranslator;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.addressTranslatorRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        19: .line 134
            aload 0 /* this */
        20: .line 135
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "eventBus"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildEventBus()Lcom/datastax/oss/driver/internal/core/context/EventBus; (5)
                  ()Lcom/datastax/oss/driver/internal/core/context/EventBus;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.eventBusRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        21: .line 136
            aload 0 /* this */
        22: .line 137
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "compressor"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildCompressor()Lcom/datastax/oss/protocol/internal/Compressor; (5)
                  ()Lcom/datastax/oss/protocol/internal/Compressor;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.compressorRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        23: .line 138
            aload 0 /* this */
        24: .line 139
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "frameCodec"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildFrameCodec()Lcom/datastax/oss/protocol/internal/FrameCodec; (5)
                  ()Lcom/datastax/oss/protocol/internal/FrameCodec;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.frameCodecRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        25: .line 140
            aload 0 /* this */
        26: .line 141
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
        27: .line 142
            ldc "protocolVersionRegistry"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildProtocolVersionRegistry()Lcom/datastax/oss/driver/internal/core/ProtocolVersionRegistry; (5)
                  ()Lcom/datastax/oss/driver/internal/core/ProtocolVersionRegistry;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
        28: .line 141
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.protocolVersionRegistryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        29: .line 143
            aload 0 /* this */
        30: .line 144
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
        31: .line 145
            ldc "consistencyLevelRegistry"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildConsistencyLevelRegistry()Lcom/datastax/oss/driver/internal/core/ConsistencyLevelRegistry; (5)
                  ()Lcom/datastax/oss/driver/internal/core/ConsistencyLevelRegistry;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
        32: .line 144
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.consistencyLevelRegistryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        33: .line 146
            aload 0 /* this */
        34: .line 147
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "writeTypeRegistry"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildWriteTypeRegistry()Lcom/datastax/oss/driver/internal/core/servererrors/WriteTypeRegistry; (5)
                  ()Lcom/datastax/oss/driver/internal/core/servererrors/WriteTypeRegistry;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.writeTypeRegistryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        35: .line 148
            aload 0 /* this */
        36: .line 149
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "nettyOptions"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildNettyOptions()Lcom/datastax/oss/driver/internal/core/context/NettyOptions; (5)
                  ()Lcom/datastax/oss/driver/internal/core/context/NettyOptions;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.nettyOptionsRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        37: .line 150
            aload 0 /* this */
        38: .line 151
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "writeCoalescer"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildWriteCoalescer()Lcom/datastax/oss/driver/internal/core/channel/WriteCoalescer; (5)
                  ()Lcom/datastax/oss/driver/internal/core/channel/WriteCoalescer;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.writeCoalescerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        39: .line 152
            aload 0 /* this */
        40: .line 153
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "sslHandlerFactory"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildSslHandlerFactory()Ljava/util/Optional; (5)
                  ()Ljava/util/Optional;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.sslHandlerFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        41: .line 154
            aload 0 /* this */
        42: .line 155
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "channelFactory"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildChannelFactory()Lcom/datastax/oss/driver/internal/core/channel/ChannelFactory; (5)
                  ()Lcom/datastax/oss/driver/internal/core/channel/ChannelFactory;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.channelFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        43: .line 156
            aload 0 /* this */
        44: .line 157
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "topologyMonitor"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildTopologyMonitor()Lcom/datastax/oss/driver/internal/core/metadata/TopologyMonitor; (5)
                  ()Lcom/datastax/oss/driver/internal/core/metadata/TopologyMonitor;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.topologyMonitorRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        45: .line 158
            aload 0 /* this */
        46: .line 159
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "metadataManager"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildMetadataManager()Lcom/datastax/oss/driver/internal/core/metadata/MetadataManager; (5)
                  ()Lcom/datastax/oss/driver/internal/core/metadata/MetadataManager;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.metadataManagerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        47: .line 160
            aload 0 /* this */
        48: .line 161
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
        49: .line 162
            ldc "loadBalancingPolicyWrapper"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildLoadBalancingPolicyWrapper()Lcom/datastax/oss/driver/internal/core/metadata/LoadBalancingPolicyWrapper; (5)
                  ()Lcom/datastax/oss/driver/internal/core/metadata/LoadBalancingPolicyWrapper;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
        50: .line 161
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.loadBalancingPolicyWrapperRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        51: .line 163
            aload 0 /* this */
        52: .line 164
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "controlConnection"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildControlConnection()Lcom/datastax/oss/driver/internal/core/control/ControlConnection; (5)
                  ()Lcom/datastax/oss/driver/internal/core/control/ControlConnection;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.controlConnectionRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        53: .line 165
            aload 0 /* this */
        54: .line 166
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
        55: .line 167
            ldc "requestProcessorRegistry"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildRequestProcessorRegistry()Lcom/datastax/oss/driver/internal/core/session/RequestProcessorRegistry; (5)
                  ()Lcom/datastax/oss/driver/internal/core/session/RequestProcessorRegistry;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
        56: .line 166
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.requestProcessorRegistryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        57: .line 168
            aload 0 /* this */
        58: .line 169
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "schemaQueriesFactory"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildSchemaQueriesFactory()Lcom/datastax/oss/driver/internal/core/metadata/schema/queries/SchemaQueriesFactory; (5)
                  ()Lcom/datastax/oss/driver/internal/core/metadata/schema/queries/SchemaQueriesFactory;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.schemaQueriesFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        59: .line 170
            aload 0 /* this */
        60: .line 171
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "schemaParserFactory"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildSchemaParserFactory()Lcom/datastax/oss/driver/internal/core/metadata/schema/parsing/SchemaParserFactory; (5)
                  ()Lcom/datastax/oss/driver/internal/core/metadata/schema/parsing/SchemaParserFactory;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.schemaParserFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        61: .line 172
            aload 0 /* this */
        62: .line 173
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "tokenFactoryRegistry"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildTokenFactoryRegistry()Lcom/datastax/oss/driver/internal/core/metadata/token/TokenFactoryRegistry; (5)
                  ()Lcom/datastax/oss/driver/internal/core/metadata/token/TokenFactoryRegistry;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.tokenFactoryRegistryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        63: .line 174
            aload 0 /* this */
        64: .line 175
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
        65: .line 176
            ldc "replicationStrategyFactory"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildReplicationStrategyFactory()Lcom/datastax/oss/driver/internal/core/metadata/token/ReplicationStrategyFactory; (5)
                  ()Lcom/datastax/oss/driver/internal/core/metadata/token/ReplicationStrategyFactory;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
        66: .line 175
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.replicationStrategyFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        67: .line 177
            aload 0 /* this */
        68: .line 178
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "poolManager"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildPoolManager()Lcom/datastax/oss/driver/internal/core/session/PoolManager; (5)
                  ()Lcom/datastax/oss/driver/internal/core/session/PoolManager;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.poolManagerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        69: .line 179
            aload 0 /* this */
        70: .line 180
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "metricsFactory"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildMetricsFactory()Lcom/datastax/oss/driver/internal/core/metrics/MetricsFactory; (5)
                  ()Lcom/datastax/oss/driver/internal/core/metrics/MetricsFactory;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.metricsFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        71: .line 181
            aload 0 /* this */
        72: .line 182
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "requestThrottler"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildRequestThrottler()Lcom/datastax/oss/driver/api/core/session/throttling/RequestThrottler; (5)
                  ()Lcom/datastax/oss/driver/api/core/session/throttling/RequestThrottler;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.requestThrottlerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        73: .line 183
            aload 0 /* this */
        74: .line 184
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "startupOptions"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildStartupOptions()Ljava/util/Map; (5)
                  ()Ljava/util/Map;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.startupOptionsRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        75: .line 192
            aload 0 /* this */
            new com.datastax.oss.driver.internal.core.pool.ChannelPoolFactory
            dup
            invokespecial com.datastax.oss.driver.internal.core.pool.ChannelPoolFactory.<init>:()V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.channelPoolFactory:Lcom/datastax/oss/driver/internal/core/pool/ChannelPoolFactory;
        76: .line 202
            aload 0 /* this */
        77: .line 203
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
            ldc "requestLogFormatter"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.buildRequestLogFormatter()Lcom/datastax/oss/driver/internal/core/tracker/RequestLogFormatter; (5)
                  ()Lcom/datastax/oss/driver/internal/core/tracker/RequestLogFormatter;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.requestLogFormatterRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        78: .line 207
            aload 0 /* this */
            aload 1 /* configLoader */
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.getInitialConfig:()Lcom/datastax/oss/driver/api/core/config/DriverConfig;
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.config:Lcom/datastax/oss/driver/api/core/config/DriverConfig;
        79: .line 208
            aload 0 /* this */
            aload 1 /* configLoader */
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.configLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
        80: .line 209
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.config:Lcom/datastax/oss/driver/api/core/config/DriverConfig;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfig.getDefaultProfile:()Lcom/datastax/oss/driver/api/core/config/DriverExecutionProfile;
            astore 3 /* defaultProfile */
        start local 3 // com.datastax.oss.driver.api.core.config.DriverExecutionProfile defaultProfile
        81: .line 210
            aload 3 /* defaultProfile */
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.SESSION_NAME:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverExecutionProfile.isDefined:(Lcom/datastax/oss/driver/api/core/config/DriverOption;)Z
            ifeq 84
        82: .line 211
            aload 0 /* this */
            aload 3 /* defaultProfile */
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.SESSION_NAME:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverExecutionProfile.getString:(Lcom/datastax/oss/driver/api/core/config/DriverOption;)Ljava/lang/String;
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.sessionName:Ljava/lang/String;
        83: .line 212
            goto 85
        84: .line 213
      StackMap locals: com.datastax.oss.driver.internal.core.context.DefaultDriverContext com.datastax.oss.driver.api.core.config.DriverConfigLoader com.datastax.oss.driver.api.core.session.ProgrammaticArguments com.datastax.oss.driver.api.core.config.DriverExecutionProfile
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "s"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.datastax.oss.driver.internal.core.context.DefaultDriverContext.SESSION_NAME_COUNTER:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.sessionName:Ljava/lang/String;
        85: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getLocalDatacenters:()Ljava/util/Map;
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.localDatacentersFromBuilder:Ljava/util/Map;
        86: .line 216
            aload 0 /* this */
        87: .line 217
            aload 0 /* this */
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.sessionName:Ljava/lang/String;
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getTypeCodecs:()Ljava/util/List;
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.buildCodecRegistry:(Ljava/lang/String;Ljava/util/List;)Lcom/datastax/oss/driver/api/core/type/codec/registry/CodecRegistry;
        88: .line 216
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.codecRegistry:Lcom/datastax/oss/driver/api/core/type/codec/registry/CodecRegistry;
        89: .line 218
            aload 0 /* this */
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getNodeStateListener:()Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.nodeStateListenerFromBuilder:Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
        90: .line 219
            aload 0 /* this */
        91: .line 220
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
        92: .line 221
            ldc "nodeStateListener"
        93: .line 222
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$30()Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener; (7)
                  ()Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
        94: .line 223
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
        95: .line 220
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
        96: .line 219
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.nodeStateListenerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
        97: .line 224
            aload 0 /* this */
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getSchemaChangeListener:()Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.schemaChangeListenerFromBuilder:Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
        98: .line 225
            aload 0 /* this */
        99: .line 226
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
       100: .line 227
            ldc "schemaChangeListener"
       101: .line 228
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$31()Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener; (7)
                  ()Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
       102: .line 229
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
       103: .line 226
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
       104: .line 225
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.schemaChangeListenerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
       105: .line 230
            aload 0 /* this */
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getRequestTracker:()Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.requestTrackerFromBuilder:Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
       106: .line 232
            aload 0 /* this */
       107: .line 233
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
       108: .line 234
            ldc "authProvider"
       109: .line 235
            aload 0 /* this */
            aload 2 /* programmaticArguments */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$32(Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;)Ljava/util/Optional; (7)
                  ()Ljava/util/Optional;
       110: .line 236
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
       111: .line 233
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
       112: .line 232
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.authProviderRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
       113: .line 237
            aload 0 /* this */
       114: .line 238
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
       115: .line 239
            ldc "requestTracker"
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$33()Lcom/datastax/oss/driver/api/core/tracker/RequestTracker; (7)
                  ()Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
       116: .line 238
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
       117: .line 237
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.requestTrackerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
       118: .line 240
            aload 0 /* this */
       119: .line 241
            new com.datastax.oss.driver.internal.core.util.concurrent.LazyReference
            dup
       120: .line 242
            ldc "sslEngineFactory"
       121: .line 243
            aload 0 /* this */
            aload 2 /* programmaticArguments */
            invokedynamic get(Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;)Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$34(Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;)Ljava/util/Optional; (7)
                  ()Ljava/util/Optional;
       122: .line 244
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cycleDetector:Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;
       123: .line 241
            invokespecial com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.<init>:(Ljava/lang/String;Ljava/util/function/Supplier;Lcom/datastax/oss/driver/internal/core/util/concurrent/CycleDetector;)V
       124: .line 240
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.sslEngineFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
       125: .line 245
            aload 0 /* this */
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getNodeFilters:()Ljava/util/Map;
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.nodeFiltersFromBuilder:Ljava/util/Map;
       126: .line 246
            aload 0 /* this */
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getClassLoader:()Ljava/lang/ClassLoader;
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.classLoader:Ljava/lang/ClassLoader;
       127: .line 247
            aload 0 /* this */
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getCloudProxyAddress:()Ljava/net/InetSocketAddress;
            putfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cloudProxyAddress:Ljava/net/InetSocketAddress;
       128: .line 248
            return
        end local 3 // com.datastax.oss.driver.api.core.config.DriverExecutionProfile defaultProfile
        end local 2 // com.datastax.oss.driver.api.core.session.ProgrammaticArguments programmaticArguments
        end local 1 // com.datastax.oss.driver.api.core.config.DriverConfigLoader configLoader
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0  129     0                   this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            0  129     1           configLoader  Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            0  129     2  programmaticArguments  Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;
           81  129     3         defaultProfile  Lcom/datastax/oss/driver/api/core/config/DriverExecutionProfile;
    MethodParameters:
                       Name  Flags
      configLoader           
      programmaticArguments  

  public void <init>(com.datastax.oss.driver.api.core.config.DriverConfigLoader, java.util.List<com.datastax.oss.driver.api.core.type.codec.TypeCodec<?>>, com.datastax.oss.driver.api.core.metadata.NodeStateListener, com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener, com.datastax.oss.driver.api.core.tracker.RequestTracker, java.util.Map<java.lang.String, java.lang.String>, java.util.Map<java.lang.String, java.util.function.Predicate<com.datastax.oss.driver.api.core.metadata.Node>>, java.lang.ClassLoader);
    descriptor: (Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;Ljava/util/List;Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;Ljava/util/Map;Ljava/util/Map;Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=9
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
        start local 1 // com.datastax.oss.driver.api.core.config.DriverConfigLoader configLoader
        start local 2 // java.util.List typeCodecs
        start local 3 // com.datastax.oss.driver.api.core.metadata.NodeStateListener nodeStateListener
        start local 4 // com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener schemaChangeListener
        start local 5 // com.datastax.oss.driver.api.core.tracker.RequestTracker requestTracker
        start local 6 // java.util.Map localDatacenters
        start local 7 // java.util.Map nodeFilters
        start local 8 // java.lang.ClassLoader classLoader
         0: .line 264
            aload 0 /* this */
         1: .line 265
            aload 1 /* configLoader */
         2: .line 266
            invokestatic com.datastax.oss.driver.api.core.session.ProgrammaticArguments.builder:()Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
         3: .line 267
            aload 2 /* typeCodecs */
            iconst_0
            anewarray com.datastax.oss.driver.api.core.type.codec.TypeCodec
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.type.codec.TypeCodec[]
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.addTypeCodecs:([Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
         4: .line 268
            aload 3 /* nodeStateListener */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withNodeStateListener:(Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
         5: .line 269
            aload 4 /* schemaChangeListener */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withSchemaChangeListener:(Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
         6: .line 270
            aload 5 /* requestTracker */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withRequestTracker:(Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
         7: .line 271
            aload 6 /* localDatacenters */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withLocalDatacenters:(Ljava/util/Map;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
         8: .line 272
            aload 7 /* nodeFilters */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withNodeFilters:(Ljava/util/Map;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
         9: .line 273
            aload 8 /* classLoader */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withClassLoader:(Ljava/lang/ClassLoader;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
        10: .line 274
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.build:()Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;
            invokespecial com.datastax.oss.driver.internal.core.context.DefaultDriverContext.<init>:(Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;)V
        11: .line 275
            return
        end local 8 // java.lang.ClassLoader classLoader
        end local 7 // java.util.Map nodeFilters
        end local 6 // java.util.Map localDatacenters
        end local 5 // com.datastax.oss.driver.api.core.tracker.RequestTracker requestTracker
        end local 4 // com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener schemaChangeListener
        end local 3 // com.datastax.oss.driver.api.core.metadata.NodeStateListener nodeStateListener
        end local 2 // java.util.List typeCodecs
        end local 1 // com.datastax.oss.driver.api.core.config.DriverConfigLoader configLoader
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            0   12     1          configLoader  Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            0   12     2            typeCodecs  Ljava/util/List<Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<*>;>;
            0   12     3     nodeStateListener  Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
            0   12     4  schemaChangeListener  Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
            0   12     5        requestTracker  Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
            0   12     6      localDatacenters  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   12     7           nodeFilters  Ljava/util/Map<Ljava/lang/String;Ljava/util/function/Predicate<Lcom/datastax/oss/driver/api/core/metadata/Node;>;>;
            0   12     8           classLoader  Ljava/lang/ClassLoader;
    Signature: (Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;Ljava/util/List<Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<*>;>;Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/function/Predicate<Lcom/datastax/oss/driver/api/core/metadata/Node;>;>;Ljava/lang/ClassLoader;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                      Name  Flags
      configLoader          
      typeCodecs            
      nodeStateListener     
      schemaChangeListener  
      requestTracker        
      localDatacenters      
      nodeFilters           
      classLoader           

  protected java.util.Map<java.lang.String, java.lang.String> buildStartupOptions();
    descriptor: ()Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 283
            new com.datastax.oss.driver.internal.core.context.StartupOptionsBuilder
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.context.StartupOptionsBuilder.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            invokevirtual com.datastax.oss.driver.internal.core.context.StartupOptionsBuilder.build:()Ljava/util/Map;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  protected java.util.Map<java.lang.String, com.datastax.oss.driver.api.core.loadbalancing.LoadBalancingPolicy> buildLoadBalancingPolicies();
    descriptor: ()Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 288
            aload 0 /* this */
         1: .line 289
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.LOAD_BALANCING_POLICY:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         2: .line 290
            ldc Lcom/datastax/oss/driver/api/core/loadbalancing/LoadBalancingPolicy;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 291
            ldc "com.datastax.oss.driver.internal.core.loadbalancing"
            aastore
         4: .line 287
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfigProfiles:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Map;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/datastax/oss/driver/api/core/loadbalancing/LoadBalancingPolicy;>;

  protected java.util.Map<java.lang.String, com.datastax.oss.driver.api.core.retry.RetryPolicy> buildRetryPolicies();
    descriptor: ()Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 296
            aload 0 /* this */
         1: .line 297
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.RETRY_POLICY:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         2: .line 298
            ldc Lcom/datastax/oss/driver/api/core/retry/RetryPolicy;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 299
            ldc "com.datastax.oss.driver.internal.core.retry"
            aastore
         4: .line 295
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfigProfiles:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Map;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/datastax/oss/driver/api/core/retry/RetryPolicy;>;

  protected java.util.Map<java.lang.String, com.datastax.oss.driver.api.core.specex.SpeculativeExecutionPolicy> buildSpeculativeExecutionPolicies();
    descriptor: ()Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 304
            aload 0 /* this */
         1: .line 305
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.SPECULATIVE_EXECUTION_POLICY:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         2: .line 306
            ldc Lcom/datastax/oss/driver/api/core/specex/SpeculativeExecutionPolicy;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 307
            ldc "com.datastax.oss.driver.internal.core.specex"
            aastore
         4: .line 303
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfigProfiles:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Map;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/datastax/oss/driver/api/core/specex/SpeculativeExecutionPolicy;>;

  protected com.datastax.oss.driver.api.core.time.TimestampGenerator buildTimestampGenerator();
    descriptor: ()Lcom/datastax/oss/driver/api/core/time/TimestampGenerator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 312
            aload 0 /* this */
         1: .line 313
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.TIMESTAMP_GENERATOR_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         2: .line 314
            ldc Lcom/datastax/oss/driver/api/core/time/TimestampGenerator;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 315
            ldc "com.datastax.oss.driver.internal.core.time"
            aastore
         4: .line 311
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfig:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Optional;
         5: .line 317
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$35()Ljava/lang/IllegalArgumentException; (6)
                  ()Ljava/lang/IllegalArgumentException;
         6: .line 316
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.time.TimestampGenerator
         7: .line 311
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.api.core.connection.ReconnectionPolicy buildReconnectionPolicy();
    descriptor: ()Lcom/datastax/oss/driver/api/core/connection/ReconnectionPolicy;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 326
            aload 0 /* this */
         1: .line 327
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.RECONNECTION_POLICY_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         2: .line 328
            ldc Lcom/datastax/oss/driver/api/core/connection/ReconnectionPolicy;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 329
            ldc "com.datastax.oss.driver.internal.core.connection"
            aastore
         4: .line 325
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfig:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Optional;
         5: .line 331
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$36()Ljava/lang/IllegalArgumentException; (6)
                  ()Ljava/lang/IllegalArgumentException;
         6: .line 330
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.connection.ReconnectionPolicy
         7: .line 325
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.api.core.addresstranslation.AddressTranslator buildAddressTranslator();
    descriptor: ()Lcom/datastax/oss/driver/api/core/addresstranslation/AddressTranslator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 340
            aload 0 /* this */
         1: .line 341
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.ADDRESS_TRANSLATOR_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         2: .line 342
            ldc Lcom/datastax/oss/driver/api/core/addresstranslation/AddressTranslator;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 343
            ldc "com.datastax.oss.driver.internal.core.addresstranslation"
            aastore
         4: .line 339
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfig:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Optional;
         5: .line 345
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$37()Ljava/lang/IllegalArgumentException; (6)
                  ()Ljava/lang/IllegalArgumentException;
         6: .line 344
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.addresstranslation.AddressTranslator
         7: .line 339
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected java.util.Optional<com.datastax.oss.driver.api.core.ssl.SslEngineFactory> buildSslEngineFactory(com.datastax.oss.driver.api.core.ssl.SslEngineFactory);
    descriptor: (Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;)Ljava/util/Optional;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
        start local 1 // com.datastax.oss.driver.api.core.ssl.SslEngineFactory factoryFromBuilder
         0: .line 353
            aload 1 /* factoryFromBuilder */
            ifnull 2
         1: .line 354
            aload 1 /* factoryFromBuilder */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            goto 7
         2: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 357
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.SSL_ENGINE_FACTORY_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         4: .line 358
            ldc Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         5: .line 359
            ldc "com.datastax.oss.driver.internal.core.ssl"
            aastore
         6: .line 355
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfig:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Optional;
         7: .line 353
      StackMap locals:
      StackMap stack: java.util.Optional
            areturn
        end local 1 // com.datastax.oss.driver.api.core.ssl.SslEngineFactory factoryFromBuilder
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            0    8     1  factoryFromBuilder  Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;
    Signature: (Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;>;
    MethodParameters:
                    Name  Flags
      factoryFromBuilder  

  protected com.datastax.oss.driver.internal.core.context.EventBus buildEventBus();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/context/EventBus;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 363
            new com.datastax.oss.driver.internal.core.context.EventBus
            dup
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getSessionName:()Ljava/lang/String;
            invokespecial com.datastax.oss.driver.internal.core.context.EventBus.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.protocol.internal.Compressor<io.netty.buffer.ByteBuf> buildCompressor();
    descriptor: ()Lcom/datastax/oss/protocol/internal/Compressor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 367
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getConfig:()Lcom/datastax/oss/driver/api/core/config/DriverConfig;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfig.getDefaultProfile:()Lcom/datastax/oss/driver/api/core/config/DriverExecutionProfile;
            astore 1 /* defaultProfile */
        start local 1 // com.datastax.oss.driver.api.core.config.DriverExecutionProfile defaultProfile
         1: .line 368
            aload 1 /* defaultProfile */
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.PROTOCOL_COMPRESSION:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            ldc "none"
            invokeinterface com.datastax.oss.driver.api.core.config.DriverExecutionProfile.getString:(Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         2: .line 369
            getstatic com.datastax.oss.driver.internal.core.context.DefaultDriverContext.$assertionsDisabled:Z
            ifne 3
            aload 2 /* name */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            ldc "should use default value"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 370
      StackMap locals: com.datastax.oss.driver.api.core.config.DriverExecutionProfile java.lang.String
      StackMap stack:
            aload 2 /* name */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
           -898026669: 4
               107622: 5
              3387192: 6
              default: 10
          }
      StackMap locals: java.lang.String
      StackMap stack:
         4: aload 3
            ldc "snappy"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 10
      StackMap locals:
      StackMap stack:
         5: aload 3
            ldc "lz4"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 10
      StackMap locals:
      StackMap stack:
         6: aload 3
            ldc "none"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 10
         7: .line 372
      StackMap locals:
      StackMap stack:
            new com.datastax.oss.driver.internal.core.protocol.Lz4Compressor
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.protocol.Lz4Compressor.<init>:(Lcom/datastax/oss/driver/api/core/context/DriverContext;)V
            areturn
         8: .line 374
      StackMap locals:
      StackMap stack:
            new com.datastax.oss.driver.internal.core.protocol.SnappyCompressor
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.protocol.SnappyCompressor.<init>:(Lcom/datastax/oss/driver/api/core/context/DriverContext;)V
            areturn
         9: .line 376
      StackMap locals:
      StackMap stack:
            invokestatic com.datastax.oss.protocol.internal.Compressor.none:()Lcom/datastax/oss/protocol/internal/Compressor;
            areturn
        10: .line 378
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        11: .line 380
            ldc "Unsupported compression algorithm '%s' (from configuration option %s)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 381
            aload 2 /* name */
            aastore
            dup
            iconst_1
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.PROTOCOL_COMPRESSION:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            invokevirtual com.datastax.oss.driver.api.core.config.DefaultDriverOption.getPath:()Ljava/lang/String;
            aastore
        13: .line 379
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        14: .line 378
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String name
        end local 1 // com.datastax.oss.driver.api.core.config.DriverExecutionProfile defaultProfile
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            1   15     1  defaultProfile  Lcom/datastax/oss/driver/api/core/config/DriverExecutionProfile;
            2   15     2            name  Ljava/lang/String;
    Signature: ()Lcom/datastax/oss/protocol/internal/Compressor<Lio/netty/buffer/ByteBuf;>;

  protected com.datastax.oss.protocol.internal.FrameCodec<io.netty.buffer.ByteBuf> buildFrameCodec();
    descriptor: ()Lcom/datastax/oss/protocol/internal/FrameCodec;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 387
            new com.datastax.oss.driver.internal.core.protocol.ByteBufPrimitiveCodec
            dup
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getNettyOptions:()Lcom/datastax/oss/driver/internal/core/context/NettyOptions;
            invokeinterface com.datastax.oss.driver.internal.core.context.NettyOptions.allocator:()Lio/netty/buffer/ByteBufAllocator;
            invokespecial com.datastax.oss.driver.internal.core.protocol.ByteBufPrimitiveCodec.<init>:(Lio/netty/buffer/ByteBufAllocator;)V
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getCompressor:()Lcom/datastax/oss/protocol/internal/Compressor;
         1: .line 386
            invokestatic com.datastax.oss.protocol.internal.FrameCodec.defaultClient:(Lcom/datastax/oss/protocol/internal/PrimitiveCodec;Lcom/datastax/oss/protocol/internal/Compressor;)Lcom/datastax/oss/protocol/internal/FrameCodec;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Lcom/datastax/oss/protocol/internal/FrameCodec<Lio/netty/buffer/ByteBuf;>;

  protected com.datastax.oss.driver.internal.core.ProtocolVersionRegistry buildProtocolVersionRegistry();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/ProtocolVersionRegistry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 391
            new com.datastax.oss.driver.internal.core.CassandraProtocolVersionRegistry
            dup
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getSessionName:()Ljava/lang/String;
            invokespecial com.datastax.oss.driver.internal.core.CassandraProtocolVersionRegistry.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.ConsistencyLevelRegistry buildConsistencyLevelRegistry();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/ConsistencyLevelRegistry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 395
            new com.datastax.oss.driver.internal.core.DefaultConsistencyLevelRegistry
            dup
            invokespecial com.datastax.oss.driver.internal.core.DefaultConsistencyLevelRegistry.<init>:()V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.servererrors.WriteTypeRegistry buildWriteTypeRegistry();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/servererrors/WriteTypeRegistry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 399
            new com.datastax.oss.driver.internal.core.servererrors.DefaultWriteTypeRegistry
            dup
            invokespecial com.datastax.oss.driver.internal.core.servererrors.DefaultWriteTypeRegistry.<init>:()V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.context.NettyOptions buildNettyOptions();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/context/NettyOptions;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 403
            new com.datastax.oss.driver.internal.core.context.DefaultNettyOptions
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.context.DefaultNettyOptions.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected java.util.Optional<com.datastax.oss.driver.internal.core.ssl.SslHandlerFactory> buildSslHandlerFactory();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 408
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getSslEngineFactory:()Ljava/util/Optional;
            invokedynamic apply()Ljava/util/function/Function;
              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;
                  com/datastax/oss/driver/internal/core/ssl/JdkSslHandlerFactory.<init>(Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;)V (8)
                  (Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;)Lcom/datastax/oss/driver/internal/core/ssl/SslHandlerFactory;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Optional<Lcom/datastax/oss/driver/internal/core/ssl/SslHandlerFactory;>;

  protected com.datastax.oss.driver.internal.core.channel.WriteCoalescer buildWriteCoalescer();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/channel/WriteCoalescer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 415
            new com.datastax.oss.driver.internal.core.channel.DefaultWriteCoalescer
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.channel.DefaultWriteCoalescer.<init>:(Lcom/datastax/oss/driver/api/core/context/DriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.channel.ChannelFactory buildChannelFactory();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/channel/ChannelFactory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 419
            new com.datastax.oss.driver.internal.core.channel.ChannelFactory
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.channel.ChannelFactory.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.metadata.TopologyMonitor buildTopologyMonitor();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/TopologyMonitor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 423
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cloudProxyAddress:Ljava/net/InetSocketAddress;
            ifnonnull 2
         1: .line 424
            new com.datastax.oss.driver.internal.core.metadata.DefaultTopologyMonitor
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.metadata.DefaultTopologyMonitor.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            areturn
         2: .line 426
      StackMap locals:
      StackMap stack:
            new com.datastax.oss.driver.internal.core.metadata.CloudTopologyMonitor
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.cloudProxyAddress:Ljava/net/InetSocketAddress;
            invokespecial com.datastax.oss.driver.internal.core.metadata.CloudTopologyMonitor.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Ljava/net/InetSocketAddress;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.metadata.MetadataManager buildMetadataManager();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/MetadataManager;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 430
            new com.datastax.oss.driver.internal.core.metadata.MetadataManager
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.metadata.MetadataManager.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.metadata.LoadBalancingPolicyWrapper buildLoadBalancingPolicyWrapper();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/LoadBalancingPolicyWrapper;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 434
            new com.datastax.oss.driver.internal.core.metadata.LoadBalancingPolicyWrapper
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getLoadBalancingPolicies:()Ljava/util/Map;
            invokespecial com.datastax.oss.driver.internal.core.metadata.LoadBalancingPolicyWrapper.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Ljava/util/Map;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.control.ControlConnection buildControlConnection();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/control/ControlConnection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 438
            new com.datastax.oss.driver.internal.core.control.ControlConnection
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.control.ControlConnection.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.session.RequestProcessorRegistry buildRequestProcessorRegistry();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/session/RequestProcessorRegistry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 442
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getSessionName:()Ljava/lang/String;
            invokestatic com.datastax.oss.driver.internal.core.session.RequestProcessorRegistry.defaultCqlProcessors:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/session/RequestProcessorRegistry;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry buildCodecRegistry(java.lang.String, java.util.List<com.datastax.oss.driver.api.core.type.codec.TypeCodec<?>>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)Lcom/datastax/oss/driver/api/core/type/codec/registry/CodecRegistry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
        start local 1 // java.lang.String logPrefix
        start local 2 // java.util.List codecs
         0: .line 446
            new com.datastax.oss.driver.internal.core.type.codec.registry.DefaultCodecRegistry
            dup
            aload 1 /* logPrefix */
            invokespecial com.datastax.oss.driver.internal.core.type.codec.registry.DefaultCodecRegistry.<init>:(Ljava/lang/String;)V
            astore 3 /* registry */
        start local 3 // com.datastax.oss.driver.api.core.type.codec.registry.MutableCodecRegistry registry
         1: .line 447
            aload 3 /* registry */
            aload 2 /* codecs */
            invokeinterface com.datastax.oss.driver.api.core.type.codec.registry.MutableCodecRegistry.register:(Ljava/lang/Iterable;)V
         2: .line 448
            aload 3 /* registry */
            areturn
        end local 3 // com.datastax.oss.driver.api.core.type.codec.registry.MutableCodecRegistry registry
        end local 2 // java.util.List codecs
        end local 1 // java.lang.String logPrefix
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            0    3     1  logPrefix  Ljava/lang/String;
            0    3     2     codecs  Ljava/util/List<Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<*>;>;
            1    3     3   registry  Lcom/datastax/oss/driver/api/core/type/codec/registry/MutableCodecRegistry;
    Signature: (Ljava/lang/String;Ljava/util/List<Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<*>;>;)Lcom/datastax/oss/driver/api/core/type/codec/registry/CodecRegistry;
    MethodParameters:
           Name  Flags
      logPrefix  
      codecs     

  protected com.datastax.oss.driver.internal.core.metadata.schema.queries.SchemaQueriesFactory buildSchemaQueriesFactory();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/schema/queries/SchemaQueriesFactory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 452
            new com.datastax.oss.driver.internal.core.metadata.schema.queries.DefaultSchemaQueriesFactory
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.metadata.schema.queries.DefaultSchemaQueriesFactory.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.metadata.schema.parsing.SchemaParserFactory buildSchemaParserFactory();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/schema/parsing/SchemaParserFactory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 456
            new com.datastax.oss.driver.internal.core.metadata.schema.parsing.DefaultSchemaParserFactory
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.metadata.schema.parsing.DefaultSchemaParserFactory.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.metadata.token.TokenFactoryRegistry buildTokenFactoryRegistry();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/token/TokenFactoryRegistry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 460
            new com.datastax.oss.driver.internal.core.metadata.token.DefaultTokenFactoryRegistry
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.metadata.token.DefaultTokenFactoryRegistry.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.metadata.token.ReplicationStrategyFactory buildReplicationStrategyFactory();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/token/ReplicationStrategyFactory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 464
            new com.datastax.oss.driver.internal.core.metadata.token.DefaultReplicationStrategyFactory
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.metadata.token.DefaultReplicationStrategyFactory.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.session.PoolManager buildPoolManager();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/session/PoolManager;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 468
            new com.datastax.oss.driver.internal.core.session.PoolManager
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.session.PoolManager.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.internal.core.metrics.MetricsFactory buildMetricsFactory();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metrics/MetricsFactory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 472
            new com.datastax.oss.driver.internal.core.metrics.DropwizardMetricsFactory
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.metrics.DropwizardMetricsFactory.<init>:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.api.core.session.throttling.RequestThrottler buildRequestThrottler();
    descriptor: ()Lcom/datastax/oss/driver/api/core/session/throttling/RequestThrottler;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 477
            aload 0 /* this */
         1: .line 478
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.REQUEST_THROTTLER_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         2: .line 479
            ldc Lcom/datastax/oss/driver/api/core/session/throttling/RequestThrottler;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 480
            ldc "com.datastax.oss.driver.internal.core.session.throttling"
            aastore
         4: .line 476
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfig:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Optional;
         5: .line 482
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$39()Ljava/lang/IllegalArgumentException; (6)
                  ()Ljava/lang/IllegalArgumentException;
         6: .line 481
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.session.throttling.RequestThrottler
         7: .line 476
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  protected com.datastax.oss.driver.api.core.metadata.NodeStateListener buildNodeStateListener(com.datastax.oss.driver.api.core.metadata.NodeStateListener);
    descriptor: (Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;)Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
        start local 1 // com.datastax.oss.driver.api.core.metadata.NodeStateListener nodeStateListenerFromBuilder
         0: .line 491
            aload 1 /* nodeStateListenerFromBuilder */
            ifnull 2
         1: .line 492
            aload 1 /* nodeStateListenerFromBuilder */
            goto 9
         2: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 495
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.METADATA_NODE_STATE_LISTENER_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         4: .line 496
            ldc Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         5: .line 497
            ldc "com.datastax.oss.driver.internal.core.metadata"
            aastore
         6: .line 493
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfig:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Optional;
         7: .line 499
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$40()Ljava/lang/IllegalArgumentException; (6)
                  ()Ljava/lang/IllegalArgumentException;
         8: .line 498
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.NodeStateListener
         9: .line 491
      StackMap locals:
      StackMap stack: com.datastax.oss.driver.api.core.metadata.NodeStateListener
            areturn
        end local 1 // com.datastax.oss.driver.api.core.metadata.NodeStateListener nodeStateListenerFromBuilder
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   10     0                          this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            0   10     1  nodeStateListenerFromBuilder  Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
    MethodParameters:
                              Name  Flags
      nodeStateListenerFromBuilder  

  protected com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener buildSchemaChangeListener(com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener);
    descriptor: (Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;)Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
        start local 1 // com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener schemaChangeListenerFromBuilder
         0: .line 508
            aload 1 /* schemaChangeListenerFromBuilder */
            ifnull 2
         1: .line 509
            aload 1 /* schemaChangeListenerFromBuilder */
            goto 9
         2: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 512
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.METADATA_SCHEMA_CHANGE_LISTENER_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         4: .line 513
            ldc Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         5: .line 514
            ldc "com.datastax.oss.driver.internal.core.metadata.schema"
            aastore
         6: .line 510
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfig:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Optional;
         7: .line 516
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$41()Ljava/lang/IllegalArgumentException; (6)
                  ()Ljava/lang/IllegalArgumentException;
         8: .line 515
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener
         9: .line 508
      StackMap locals:
      StackMap stack: com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener
            areturn
        end local 1 // com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener schemaChangeListenerFromBuilder
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0   10     0                             this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            0   10     1  schemaChangeListenerFromBuilder  Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
    MethodParameters:
                                 Name  Flags
      schemaChangeListenerFromBuilder  

  protected com.datastax.oss.driver.api.core.tracker.RequestTracker buildRequestTracker(com.datastax.oss.driver.api.core.tracker.RequestTracker);
    descriptor: (Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;)Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
        start local 1 // com.datastax.oss.driver.api.core.tracker.RequestTracker requestTrackerFromBuilder
         0: .line 524
            aload 1 /* requestTrackerFromBuilder */
            ifnull 2
         1: .line 525
            aload 1 /* requestTrackerFromBuilder */
            goto 9
         2: .line 527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 528
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.REQUEST_TRACKER_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         4: .line 529
            ldc Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         5: .line 530
            ldc "com.datastax.oss.driver.internal.core.tracker"
            aastore
         6: .line 526
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfig:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Optional;
         7: .line 532
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  com/datastax/oss/driver/internal/core/context/DefaultDriverContext.lambda$42()Ljava/lang/IllegalArgumentException; (6)
                  ()Ljava/lang/IllegalArgumentException;
         8: .line 531
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.tracker.RequestTracker
         9: .line 524
      StackMap locals:
      StackMap stack: com.datastax.oss.driver.api.core.tracker.RequestTracker
            areturn
        end local 1 // com.datastax.oss.driver.api.core.tracker.RequestTracker requestTrackerFromBuilder
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   10     0                       this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            0   10     1  requestTrackerFromBuilder  Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
    MethodParameters:
                           Name  Flags
      requestTrackerFromBuilder  

  protected java.util.Optional<com.datastax.oss.driver.api.core.auth.AuthProvider> buildAuthProvider(com.datastax.oss.driver.api.core.auth.AuthProvider);
    descriptor: (Lcom/datastax/oss/driver/api/core/auth/AuthProvider;)Ljava/util/Optional;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
        start local 1 // com.datastax.oss.driver.api.core.auth.AuthProvider authProviderFromBuilder
         0: .line 540
            aload 1 /* authProviderFromBuilder */
            ifnull 2
         1: .line 541
            aload 1 /* authProviderFromBuilder */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            goto 7
         2: .line 543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 544
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.AUTH_PROVIDER_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
         4: .line 545
            ldc Lcom/datastax/oss/driver/api/core/auth/AuthProvider;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         5: .line 546
            ldc "com.datastax.oss.driver.internal.core.auth"
            aastore
         6: .line 542
            invokestatic com.datastax.oss.driver.internal.core.util.Reflection.buildFromConfig:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/Class;[Ljava/lang/String;)Ljava/util/Optional;
         7: .line 540
      StackMap locals:
      StackMap stack: java.util.Optional
            areturn
        end local 1 // com.datastax.oss.driver.api.core.auth.AuthProvider authProviderFromBuilder
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    8     0                     this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            0    8     1  authProviderFromBuilder  Lcom/datastax/oss/driver/api/core/auth/AuthProvider;
    Signature: (Lcom/datastax/oss/driver/api/core/auth/AuthProvider;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/auth/AuthProvider;>;
    MethodParameters:
                         Name  Flags
      authProviderFromBuilder  

  public java.lang.String getSessionName();
    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.context.DefaultDriverContext this
         0: .line 552
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.sessionName:Ljava/lang/String;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.api.core.config.DriverConfig getConfig();
    descriptor: ()Lcom/datastax/oss/driver/api/core/config/DriverConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 558
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.config:Lcom/datastax/oss/driver/api/core/config/DriverConfig;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.api.core.config.DriverConfigLoader getConfigLoader();
    descriptor: ()Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 564
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.configLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Map<java.lang.String, com.datastax.oss.driver.api.core.loadbalancing.LoadBalancingPolicy> getLoadBalancingPolicies();
    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.context.DefaultDriverContext this
         0: .line 570
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.loadBalancingPoliciesRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast java.util.Map
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/datastax/oss/driver/api/core/loadbalancing/LoadBalancingPolicy;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Map<java.lang.String, com.datastax.oss.driver.api.core.retry.RetryPolicy> getRetryPolicies();
    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.context.DefaultDriverContext this
         0: .line 576
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.retryPoliciesRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast java.util.Map
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/datastax/oss/driver/api/core/retry/RetryPolicy;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Map<java.lang.String, com.datastax.oss.driver.api.core.specex.SpeculativeExecutionPolicy> getSpeculativeExecutionPolicies();
    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.context.DefaultDriverContext this
         0: .line 582
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.speculativeExecutionPoliciesRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast java.util.Map
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/datastax/oss/driver/api/core/specex/SpeculativeExecutionPolicy;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.api.core.time.TimestampGenerator getTimestampGenerator();
    descriptor: ()Lcom/datastax/oss/driver/api/core/time/TimestampGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 588
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.timestampGeneratorRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.time.TimestampGenerator
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.api.core.connection.ReconnectionPolicy getReconnectionPolicy();
    descriptor: ()Lcom/datastax/oss/driver/api/core/connection/ReconnectionPolicy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 594
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.reconnectionPolicyRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.connection.ReconnectionPolicy
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.api.core.addresstranslation.AddressTranslator getAddressTranslator();
    descriptor: ()Lcom/datastax/oss/driver/api/core/addresstranslation/AddressTranslator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 600
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.addressTranslatorRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.addresstranslation.AddressTranslator
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Optional<com.datastax.oss.driver.api.core.auth.AuthProvider> getAuthProvider();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 606
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.authProviderRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast java.util.Optional
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/auth/AuthProvider;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Optional<com.datastax.oss.driver.api.core.ssl.SslEngineFactory> getSslEngineFactory();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 612
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.sslEngineFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast java.util.Optional
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.context.EventBus getEventBus();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/context/EventBus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 618
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.eventBusRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.context.EventBus
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.protocol.internal.Compressor<io.netty.buffer.ByteBuf> getCompressor();
    descriptor: ()Lcom/datastax/oss/protocol/internal/Compressor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 624
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.compressorRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.protocol.internal.Compressor
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Lcom/datastax/oss/protocol/internal/Compressor<Lio/netty/buffer/ByteBuf;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.protocol.internal.FrameCodec<io.netty.buffer.ByteBuf> getFrameCodec();
    descriptor: ()Lcom/datastax/oss/protocol/internal/FrameCodec;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 630
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.frameCodecRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.protocol.internal.FrameCodec
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Lcom/datastax/oss/protocol/internal/FrameCodec<Lio/netty/buffer/ByteBuf;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.ProtocolVersionRegistry getProtocolVersionRegistry();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/ProtocolVersionRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 636
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.protocolVersionRegistryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.ProtocolVersionRegistry
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.ConsistencyLevelRegistry getConsistencyLevelRegistry();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/ConsistencyLevelRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 642
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.consistencyLevelRegistryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.ConsistencyLevelRegistry
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.servererrors.WriteTypeRegistry getWriteTypeRegistry();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/servererrors/WriteTypeRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 648
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.writeTypeRegistryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.servererrors.WriteTypeRegistry
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.context.NettyOptions getNettyOptions();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/context/NettyOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 654
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.nettyOptionsRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.context.NettyOptions
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.channel.WriteCoalescer getWriteCoalescer();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/channel/WriteCoalescer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 660
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.writeCoalescerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.channel.WriteCoalescer
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Optional<com.datastax.oss.driver.internal.core.ssl.SslHandlerFactory> getSslHandlerFactory();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 666
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.sslHandlerFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast java.util.Optional
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Optional<Lcom/datastax/oss/driver/internal/core/ssl/SslHandlerFactory;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.channel.ChannelFactory getChannelFactory();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/channel/ChannelFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 672
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.channelFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.channel.ChannelFactory
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.pool.ChannelPoolFactory getChannelPoolFactory();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/pool/ChannelPoolFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 678
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.channelPoolFactory:Lcom/datastax/oss/driver/internal/core/pool/ChannelPoolFactory;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.metadata.TopologyMonitor getTopologyMonitor();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/TopologyMonitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 684
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.topologyMonitorRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.metadata.TopologyMonitor
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.metadata.MetadataManager getMetadataManager();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/MetadataManager;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 690
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.metadataManagerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.metadata.MetadataManager
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.metadata.LoadBalancingPolicyWrapper getLoadBalancingPolicyWrapper();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/LoadBalancingPolicyWrapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 696
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.loadBalancingPolicyWrapperRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.metadata.LoadBalancingPolicyWrapper
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.control.ControlConnection getControlConnection();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/control/ControlConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 702
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.controlConnectionRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.control.ControlConnection
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.session.RequestProcessorRegistry getRequestProcessorRegistry();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/session/RequestProcessorRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 708
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.requestProcessorRegistryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.session.RequestProcessorRegistry
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.metadata.schema.queries.SchemaQueriesFactory getSchemaQueriesFactory();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/schema/queries/SchemaQueriesFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 714
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.schemaQueriesFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.metadata.schema.queries.SchemaQueriesFactory
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.metadata.schema.parsing.SchemaParserFactory getSchemaParserFactory();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/schema/parsing/SchemaParserFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 720
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.schemaParserFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.metadata.schema.parsing.SchemaParserFactory
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.metadata.token.TokenFactoryRegistry getTokenFactoryRegistry();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/token/TokenFactoryRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 726
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.tokenFactoryRegistryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.metadata.token.TokenFactoryRegistry
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.metadata.token.ReplicationStrategyFactory getReplicationStrategyFactory();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metadata/token/ReplicationStrategyFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 732
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.replicationStrategyFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.metadata.token.ReplicationStrategyFactory
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.session.PoolManager getPoolManager();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/session/PoolManager;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 738
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.poolManagerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.session.PoolManager
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.internal.core.metrics.MetricsFactory getMetricsFactory();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/metrics/MetricsFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 744
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.metricsFactoryRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.metrics.MetricsFactory
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.api.core.session.throttling.RequestThrottler getRequestThrottler();
    descriptor: ()Lcom/datastax/oss/driver/api/core/session/throttling/RequestThrottler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 750
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.requestThrottlerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.session.throttling.RequestThrottler
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.api.core.metadata.NodeStateListener getNodeStateListener();
    descriptor: ()Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 756
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.nodeStateListenerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.NodeStateListener
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener getSchemaChangeListener();
    descriptor: ()Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 762
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.schemaChangeListenerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.api.core.tracker.RequestTracker getRequestTracker();
    descriptor: ()Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 768
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.requestTrackerRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.tracker.RequestTracker
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.lang.String getLocalDatacenter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
        start local 1 // java.lang.String profileName
         0: .line 774
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.localDatacentersFromBuilder:Ljava/util/Map;
            aload 1 /* profileName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String profileName
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            0    1     1  profileName  Ljava/lang/String;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
             Name  Flags
      profileName  

  public java.util.function.Predicate<com.datastax.oss.driver.api.core.metadata.Node> getNodeFilter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/function/Predicate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
        start local 1 // java.lang.String profileName
         0: .line 780
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.nodeFiltersFromBuilder:Ljava/util/Map;
            aload 1 /* profileName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.function.Predicate
            areturn
        end local 1 // java.lang.String profileName
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
            0    1     1  profileName  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/function/Predicate<Lcom/datastax/oss/driver/api/core/metadata/Node;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.Nullable()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
             Name  Flags
      profileName  

  public java.lang.ClassLoader getClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 786
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.classLoader:Ljava/lang/ClassLoader;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.Nullable()

  public com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry getCodecRegistry();
    descriptor: ()Lcom/datastax/oss/driver/api/core/type/codec/registry/CodecRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 792
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.codecRegistry:Lcom/datastax/oss/driver/api/core/type/codec/registry/CodecRegistry;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public com.datastax.oss.driver.api.core.ProtocolVersion getProtocolVersion();
    descriptor: ()Lcom/datastax/oss/driver/api/core/ProtocolVersion;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 798
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.getChannelFactory:()Lcom/datastax/oss/driver/internal/core/channel/ChannelFactory;
            invokevirtual com.datastax.oss.driver.internal.core.channel.ChannelFactory.getProtocolVersion:()Lcom/datastax/oss/driver/api/core/ProtocolVersion;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Map<java.lang.String, java.lang.String> getStartupOptions();
    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.context.DefaultDriverContext this
         0: .line 804
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.startupOptionsRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast java.util.Map
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  protected com.datastax.oss.driver.internal.core.tracker.RequestLogFormatter buildRequestLogFormatter();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/tracker/RequestLogFormatter;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 808
            new com.datastax.oss.driver.internal.core.tracker.RequestLogFormatter
            dup
            aload 0 /* this */
            invokespecial com.datastax.oss.driver.internal.core.tracker.RequestLogFormatter.<init>:(Lcom/datastax/oss/driver/api/core/context/DriverContext;)V
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  public com.datastax.oss.driver.internal.core.tracker.RequestLogFormatter getRequestLogFormatter();
    descriptor: ()Lcom/datastax/oss/driver/internal/core/tracker/RequestLogFormatter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 814
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.requestLogFormatterRef:Lcom/datastax/oss/driver/internal/core/util/concurrent/LazyReference;
            invokevirtual com.datastax.oss.driver.internal.core.util.concurrent.LazyReference.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.internal.core.tracker.RequestLogFormatter
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  private com.datastax.oss.driver.api.core.metadata.NodeStateListener lambda$30();
    descriptor: ()Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 222
            aload 0 /* this */
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.nodeStateListenerFromBuilder:Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.buildNodeStateListener:(Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;)Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  private com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener lambda$31();
    descriptor: ()Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 228
            aload 0 /* this */
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.schemaChangeListenerFromBuilder:Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.buildSchemaChangeListener:(Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;)Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  private java.util.Optional lambda$32(com.datastax.oss.driver.api.core.session.ProgrammaticArguments);
    descriptor: (Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;)Ljava/util/Optional;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 235
            aload 0 /* this */
            aload 1
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getAuthProvider:()Lcom/datastax/oss/driver/api/core/auth/AuthProvider;
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.buildAuthProvider:(Lcom/datastax/oss/driver/api/core/auth/AuthProvider;)Ljava/util/Optional;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  private com.datastax.oss.driver.api.core.tracker.RequestTracker lambda$33();
    descriptor: ()Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 239
            aload 0 /* this */
            aload 0 /* this */
            getfield com.datastax.oss.driver.internal.core.context.DefaultDriverContext.requestTrackerFromBuilder:Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.buildRequestTracker:(Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;)Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  private java.util.Optional lambda$34(com.datastax.oss.driver.api.core.session.ProgrammaticArguments);
    descriptor: (Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;)Ljava/util/Optional;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
         0: .line 243
            aload 0 /* this */
            aload 1
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getSslEngineFactory:()Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;
            invokevirtual com.datastax.oss.driver.internal.core.context.DefaultDriverContext.buildSslEngineFactory:(Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;)Ljava/util/Optional;
            areturn
        end local 0 // com.datastax.oss.driver.internal.core.context.DefaultDriverContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/internal/core/context/DefaultDriverContext;

  private static java.lang.IllegalArgumentException lambda$35();
    descriptor: ()Ljava/lang/IllegalArgumentException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 318
            new java.lang.IllegalArgumentException
            dup
         1: .line 320
            ldc "Missing timestamp generator, check your configuration (%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 321
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.TIMESTAMP_GENERATOR_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            aastore
         3: .line 319
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         4: .line 318
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
         5: .line 321
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.IllegalArgumentException lambda$36();
    descriptor: ()Ljava/lang/IllegalArgumentException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 332
            new java.lang.IllegalArgumentException
            dup
         1: .line 334
            ldc "Missing reconnection policy, check your configuration (%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 335
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.RECONNECTION_POLICY_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            aastore
         3: .line 333
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         4: .line 332
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
         5: .line 335
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.IllegalArgumentException lambda$37();
    descriptor: ()Ljava/lang/IllegalArgumentException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 346
            new java.lang.IllegalArgumentException
            dup
         1: .line 348
            ldc "Missing address translator, check your configuration (%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 349
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.ADDRESS_TRANSLATOR_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            aastore
         3: .line 347
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         4: .line 346
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
         5: .line 349
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.IllegalArgumentException lambda$39();
    descriptor: ()Ljava/lang/IllegalArgumentException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 483
            new java.lang.IllegalArgumentException
            dup
         1: .line 485
            ldc "Missing request throttler, check your configuration (%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 486
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.REQUEST_THROTTLER_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            aastore
         3: .line 484
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         4: .line 483
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
         5: .line 486
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.IllegalArgumentException lambda$40();
    descriptor: ()Ljava/lang/IllegalArgumentException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 500
            new java.lang.IllegalArgumentException
            dup
         1: .line 502
            ldc "Missing node state listener, check your configuration (%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 503
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.METADATA_NODE_STATE_LISTENER_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            aastore
         3: .line 501
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         4: .line 500
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
         5: .line 503
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.IllegalArgumentException lambda$41();
    descriptor: ()Ljava/lang/IllegalArgumentException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 517
            new java.lang.IllegalArgumentException
            dup
         1: .line 519
            ldc "Missing schema change listener, check your configuration (%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 520
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.METADATA_SCHEMA_CHANGE_LISTENER_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            aastore
         3: .line 518
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         4: .line 517
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
         5: .line 520
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.IllegalArgumentException lambda$42();
    descriptor: ()Ljava/lang/IllegalArgumentException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 533
            new java.lang.IllegalArgumentException
            dup
         1: .line 535
            ldc "Missing request tracker, check your configuration (%s)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 536
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.REQUEST_TRACKER_CLASS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            aastore
         3: .line 534
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         4: .line 533
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
         5: .line 536
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "DefaultDriverContext.java"
InnerClasses:
  public Builder = com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder of com.datastax.oss.driver.api.core.session.ProgrammaticArguments
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
    RuntimeVisibleAnnotations: 
      net.jcip.annotations.ThreadSafe()