public abstract class com.datastax.oss.driver.api.core.session.SessionBuilder<SelfT extends com.datastax.oss.driver.api.core.session.SessionBuilder, SessionT>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.datastax.oss.driver.api.core.session.SessionBuilder
  super_class: java.lang.Object
{
  protected final SelfT self;
    descriptor: Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: TSelfT;

  protected com.datastax.oss.driver.api.core.config.DriverConfigLoader configLoader;
    descriptor: Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Set<com.datastax.oss.driver.api.core.metadata.EndPoint> programmaticContactPoints;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lcom/datastax/oss/driver/api/core/metadata/EndPoint;>;

  protected com.datastax.oss.driver.api.core.CqlIdentifier keyspace;
    descriptor: Lcom/datastax/oss/driver/api/core/CqlIdentifier;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.concurrent.Callable<java.io.InputStream> cloudConfigInputStream;
    descriptor: Ljava/util/concurrent/Callable;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/concurrent/Callable<Ljava/io/InputStream;>;

  protected com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder programmaticArgumentsBuilder;
    descriptor: Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
    flags: (0x0004) ACC_PROTECTED

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
         0: .line 76
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 79
            aload 0 /* this */
            aload 0 /* this */
            putfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
         2: .line 82
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticContactPoints:Ljava/util/Set;
         3: .line 86
            aload 0 /* this */
         4: .line 87
            invokestatic com.datastax.oss.driver.api.core.session.ProgrammaticArguments.builder:()Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            putfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
         5: .line 76
            return
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;

  public SelfT withConfigLoader(com.datastax.oss.driver.api.core.config.DriverConfigLoader);
    descriptor: (Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // com.datastax.oss.driver.api.core.config.DriverConfigLoader configLoader
         0: .line 116
            aload 0 /* this */
            aload 1 /* configLoader */
            putfield com.datastax.oss.driver.api.core.session.SessionBuilder.configLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
         1: .line 117
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.config.DriverConfigLoader configLoader
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  configLoader  Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
    Signature: (Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
              Name  Flags
      configLoader  

  protected com.datastax.oss.driver.api.core.config.DriverConfigLoader defaultConfigLoader();
    descriptor: ()Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
         0: .line 122
            new com.datastax.oss.driver.internal.core.config.typesafe.DefaultDriverConfigLoader
            dup
            invokespecial com.datastax.oss.driver.internal.core.config.typesafe.DefaultDriverConfigLoader.<init>:()V
            areturn
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public SelfT addContactPoints(java.util.Collection<java.net.InetSocketAddress>);
    descriptor: (Ljava/util/Collection;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.util.Collection contactPoints
         0: .line 145
            aload 1 /* contactPoints */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: com.datastax.oss.driver.api.core.session.SessionBuilder java.util.Collection top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.InetSocketAddress
            astore 2 /* contactPoint */
        start local 2 // java.net.InetSocketAddress contactPoint
         2: .line 146
            aload 0 /* this */
            aload 2 /* contactPoint */
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.addContactPoint:(Ljava/net/InetSocketAddress;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            pop
        end local 2 // java.net.InetSocketAddress contactPoint
         3: .line 145
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 148
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // java.util.Collection contactPoints
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    5     1  contactPoints  Ljava/util/Collection<Ljava/net/InetSocketAddress;>;
            2    3     2   contactPoint  Ljava/net/InetSocketAddress;
    Signature: (Ljava/util/Collection<Ljava/net/InetSocketAddress;>;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
               Name  Flags
      contactPoints  

  public SelfT addContactPoint(java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.net.InetSocketAddress contactPoint
         0: .line 158
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticContactPoints:Ljava/util/Set;
            new com.datastax.oss.driver.internal.core.metadata.DefaultEndPoint
            dup
            aload 1 /* contactPoint */
            invokespecial com.datastax.oss.driver.internal.core.metadata.DefaultEndPoint.<init>:(Ljava/net/InetSocketAddress;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 159
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // java.net.InetSocketAddress contactPoint
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  contactPoint  Ljava/net/InetSocketAddress;
    Signature: (Ljava/net/InetSocketAddress;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
              Name  Flags
      contactPoint  

  public SelfT addContactEndPoints(java.util.Collection<com.datastax.oss.driver.api.core.metadata.EndPoint>);
    descriptor: (Ljava/util/Collection;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.util.Collection contactPoints
         0: .line 170
            aload 1 /* contactPoints */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: com.datastax.oss.driver.api.core.session.SessionBuilder java.util.Collection top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.EndPoint
            astore 2 /* contactPoint */
        start local 2 // com.datastax.oss.driver.api.core.metadata.EndPoint contactPoint
         2: .line 171
            aload 0 /* this */
            aload 2 /* contactPoint */
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.addContactEndPoint:(Lcom/datastax/oss/driver/api/core/metadata/EndPoint;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            pop
        end local 2 // com.datastax.oss.driver.api.core.metadata.EndPoint contactPoint
         3: .line 170
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 173
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // java.util.Collection contactPoints
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    5     1  contactPoints  Ljava/util/Collection<Lcom/datastax/oss/driver/api/core/metadata/EndPoint;>;
            2    3     2   contactPoint  Lcom/datastax/oss/driver/api/core/metadata/EndPoint;
    Signature: (Ljava/util/Collection<Lcom/datastax/oss/driver/api/core/metadata/EndPoint;>;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
               Name  Flags
      contactPoints  

  public SelfT addContactEndPoint(com.datastax.oss.driver.api.core.metadata.EndPoint);
    descriptor: (Lcom/datastax/oss/driver/api/core/metadata/EndPoint;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // com.datastax.oss.driver.api.core.metadata.EndPoint contactPoint
         0: .line 184
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticContactPoints:Ljava/util/Set;
            aload 1 /* contactPoint */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 185
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.metadata.EndPoint contactPoint
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  contactPoint  Lcom/datastax/oss/driver/api/core/metadata/EndPoint;
    Signature: (Lcom/datastax/oss/driver/api/core/metadata/EndPoint;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
              Name  Flags
      contactPoint  

  public SelfT addTypeCodecs(com.datastax.oss.driver.api.core.type.codec.TypeCodec<?>[]);
    descriptor: ([Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // com.datastax.oss.driver.api.core.type.codec.TypeCodec[] typeCodecs
         0: .line 196
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            aload 1 /* typeCodecs */
            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;
            pop
         1: .line 197
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.type.codec.TypeCodec[] typeCodecs
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  typeCodecs  [Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec;
    Signature: ([Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<*>;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
            Name  Flags
      typeCodecs  

  public SelfT withNodeStateListener(com.datastax.oss.driver.api.core.metadata.NodeStateListener);
    descriptor: (Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // com.datastax.oss.driver.api.core.metadata.NodeStateListener nodeStateListener
         0: .line 208
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            aload 1 /* 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;
            pop
         1: .line 209
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.metadata.NodeStateListener nodeStateListener
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  nodeStateListener  Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
    Signature: (Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                   Name  Flags
      nodeStateListener  

  public SelfT withSchemaChangeListener(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/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener schemaChangeListener
         0: .line 221
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            aload 1 /* 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;
            pop
         1: .line 222
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener schemaChangeListener
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  schemaChangeListener  Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
    Signature: (Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                      Name  Flags
      schemaChangeListener  

  public SelfT withRequestTracker(com.datastax.oss.driver.api.core.tracker.RequestTracker);
    descriptor: (Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // com.datastax.oss.driver.api.core.tracker.RequestTracker requestTracker
         0: .line 233
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            aload 1 /* 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;
            pop
         1: .line 234
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.tracker.RequestTracker requestTracker
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  requestTracker  Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
    Signature: (Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                Name  Flags
      requestTracker  

  public SelfT withAuthProvider(com.datastax.oss.driver.api.core.auth.AuthProvider);
    descriptor: (Lcom/datastax/oss/driver/api/core/auth/AuthProvider;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // com.datastax.oss.driver.api.core.auth.AuthProvider authProvider
         0: .line 245
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            aload 1 /* authProvider */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withAuthProvider:(Lcom/datastax/oss/driver/api/core/auth/AuthProvider;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            pop
         1: .line 246
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.auth.AuthProvider authProvider
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  authProvider  Lcom/datastax/oss/driver/api/core/auth/AuthProvider;
    Signature: (Lcom/datastax/oss/driver/api/core/auth/AuthProvider;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
              Name  Flags
      authProvider  

  public SelfT withAuthCredentials(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.lang.String username
        start local 2 // java.lang.String password
         0: .line 265
            aload 0 /* this */
            new com.datastax.oss.driver.internal.core.auth.ProgrammaticPlainTextAuthProvider
            dup
            aload 1 /* username */
            aload 2 /* password */
            invokespecial com.datastax.oss.driver.internal.core.auth.ProgrammaticPlainTextAuthProvider.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.withAuthProvider:(Lcom/datastax/oss/driver/api/core/auth/AuthProvider;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 2 // java.lang.String password
        end local 1 // java.lang.String username
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    1     1  username  Ljava/lang/String;
            0    1     2  password  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/String;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
          Name  Flags
      username  
      password  

  public SelfT withSslEngineFactory(com.datastax.oss.driver.api.core.ssl.SslEngineFactory);
    descriptor: (Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // com.datastax.oss.driver.api.core.ssl.SslEngineFactory sslEngineFactory
         0: .line 278
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            aload 1 /* sslEngineFactory */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withSslEngineFactory:(Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            pop
         1: .line 279
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.ssl.SslEngineFactory sslEngineFactory
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  sslEngineFactory  Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;
    Signature: (Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                  Name  Flags
      sslEngineFactory  

  public SelfT withSslContext(javax.net.ssl.SSLContext);
    descriptor: (Ljavax/net/ssl/SSLContext;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // javax.net.ssl.SSLContext sslContext
         0: .line 299
            aload 0 /* this */
         1: .line 300
            aload 1 /* sslContext */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals:
      StackMap stack: com.datastax.oss.driver.api.core.session.SessionBuilder
         2: new com.datastax.oss.driver.api.core.ssl.ProgrammaticSslEngineFactory
            dup
            aload 1 /* sslContext */
            invokespecial com.datastax.oss.driver.api.core.ssl.ProgrammaticSslEngineFactory.<init>:(Ljavax/net/ssl/SSLContext;)V
         3: .line 299
      StackMap locals: com.datastax.oss.driver.api.core.session.SessionBuilder javax.net.ssl.SSLContext
      StackMap stack: com.datastax.oss.driver.api.core.session.SessionBuilder com.datastax.oss.driver.api.core.ssl.ProgrammaticSslEngineFactory
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.withSslEngineFactory:(Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // javax.net.ssl.SSLContext sslContext
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    4     1  sslContext  Ljavax/net/ssl/SSLContext;
    Signature: (Ljavax/net/ssl/SSLContext;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
            Name  Flags
      sslContext  

  public SelfT withLocalDatacenter(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.lang.String profileName
        start local 2 // java.lang.String localDatacenter
         0: .line 315
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            aload 1 /* profileName */
            aload 2 /* localDatacenter */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withLocalDatacenter:(Ljava/lang/String;Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            pop
         1: .line 316
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 2 // java.lang.String localDatacenter
        end local 1 // java.lang.String profileName
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1      profileName  Ljava/lang/String;
            0    2     2  localDatacenter  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/String;)TSelfT;
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                 Name  Flags
      profileName      
      localDatacenter  

  public SelfT withLocalDatacenter(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.lang.String localDatacenter
         0: .line 321
            aload 0 /* this */
            ldc "default"
            aload 1 /* localDatacenter */
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.withLocalDatacenter:(Ljava/lang/String;Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // java.lang.String localDatacenter
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    1     1  localDatacenter  Ljava/lang/String;
    Signature: (Ljava/lang/String;)TSelfT;
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                 Name  Flags
      localDatacenter  

  public SelfT withNodeFilter(java.lang.String, java.util.function.Predicate<com.datastax.oss.driver.api.core.metadata.Node>);
    descriptor: (Ljava/lang/String;Ljava/util/function/Predicate;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.lang.String profileName
        start local 2 // java.util.function.Predicate nodeFilter
         0: .line 343
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            aload 1 /* profileName */
            aload 2 /* nodeFilter */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withNodeFilter:(Ljava/lang/String;Ljava/util/function/Predicate;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            pop
         1: .line 344
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 2 // java.util.function.Predicate nodeFilter
        end local 1 // java.lang.String profileName
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  profileName  Ljava/lang/String;
            0    2     2   nodeFilter  Ljava/util/function/Predicate<Lcom/datastax/oss/driver/api/core/metadata/Node;>;
    Signature: (Ljava/lang/String;Ljava/util/function/Predicate<Lcom/datastax/oss/driver/api/core/metadata/Node;>;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
             Name  Flags
      profileName  
      nodeFilter   

  public SelfT withNodeFilter(java.util.function.Predicate<com.datastax.oss.driver.api.core.metadata.Node>);
    descriptor: (Ljava/util/function/Predicate;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.util.function.Predicate nodeFilter
         0: .line 350
            aload 0 /* this */
            ldc "default"
            aload 1 /* nodeFilter */
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.withNodeFilter:(Ljava/lang/String;Ljava/util/function/Predicate;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // java.util.function.Predicate nodeFilter
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    1     1  nodeFilter  Ljava/util/function/Predicate<Lcom/datastax/oss/driver/api/core/metadata/Node;>;
    Signature: (Ljava/util/function/Predicate<Lcom/datastax/oss/driver/api/core/metadata/Node;>;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
            Name  Flags
      nodeFilter  

  public SelfT withKeyspace(com.datastax.oss.driver.api.core.CqlIdentifier);
    descriptor: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // com.datastax.oss.driver.api.core.CqlIdentifier keyspace
         0: .line 361
            aload 0 /* this */
            aload 1 /* keyspace */
            putfield com.datastax.oss.driver.api.core.session.SessionBuilder.keyspace:Lcom/datastax/oss/driver/api/core/CqlIdentifier;
         1: .line 362
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.CqlIdentifier keyspace
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  keyspace  Lcom/datastax/oss/driver/api/core/CqlIdentifier;
    Signature: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
          Name  Flags
      keyspace  

  public SelfT withKeyspace(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.lang.String keyspaceName
         0: .line 371
            aload 0 /* this */
            aload 1 /* keyspaceName */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack: com.datastax.oss.driver.api.core.session.SessionBuilder
         1: aload 1 /* keyspaceName */
            invokestatic com.datastax.oss.driver.api.core.CqlIdentifier.fromCql:(Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/CqlIdentifier;
      StackMap locals: com.datastax.oss.driver.api.core.session.SessionBuilder java.lang.String
      StackMap stack: com.datastax.oss.driver.api.core.session.SessionBuilder com.datastax.oss.driver.api.core.CqlIdentifier
         2: invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.withKeyspace:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // java.lang.String keyspaceName
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    3     1  keyspaceName  Ljava/lang/String;
    Signature: (Ljava/lang/String;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
              Name  Flags
      keyspaceName  

  public SelfT withClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 385
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            aload 1 /* classLoader */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withClassLoader:(Ljava/lang/ClassLoader;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            pop
         1: .line 386
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  classLoader  Ljava/lang/ClassLoader;
    Signature: (Ljava/lang/ClassLoader;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
             Name  Flags
      classLoader  

  public SelfT withCloudSecureConnectBundle(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.nio.file.Path cloudConfigPath
         0: .line 406
            aload 1 /* cloudConfigPath */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            astore 2 /* cloudConfigUrl */
        start local 2 // java.net.URL cloudConfigUrl
         1: .line 407
            aload 0 /* this */
            aload 2 /* cloudConfigUrl */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic call(Ljava/net/URL;)Ljava/util/concurrent/Callable;
              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;
                  java/net/URL.openStream()Ljava/io/InputStream; (5)
                  ()Ljava/io/InputStream;
            putfield com.datastax.oss.driver.api.core.session.SessionBuilder.cloudConfigInputStream:Ljava/util/concurrent/Callable;
        end local 2 // java.net.URL cloudConfigUrl
         2: .line 408
            goto 5
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
         3: astore 2 /* e */
        start local 2 // java.net.MalformedURLException e
         4: .line 409
            new java.lang.IllegalArgumentException
            dup
            ldc "Incorrect format of cloudConfigPath"
            aload 2 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.net.MalformedURLException e
         5: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // java.nio.file.Path cloudConfigPath
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    6     1  cloudConfigPath  Ljava/nio/file/Path;
            1    2     2   cloudConfigUrl  Ljava/net/URL;
            4    5     2                e  Ljava/net/MalformedURLException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.net.MalformedURLException
    Signature: (Ljava/nio/file/Path;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                 Name  Flags
      cloudConfigPath  

  public SelfT withCloudSecureConnectBundle(java.net.URL);
    descriptor: (Ljava/net/URL;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.net.URL cloudConfigUrl
         0: .line 430
            aload 0 /* this */
            aload 1 /* cloudConfigUrl */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic call(Ljava/net/URL;)Ljava/util/concurrent/Callable;
              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;
                  java/net/URL.openStream()Ljava/io/InputStream; (5)
                  ()Ljava/io/InputStream;
            putfield com.datastax.oss.driver.api.core.session.SessionBuilder.cloudConfigInputStream:Ljava/util/concurrent/Callable;
         1: .line 431
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // java.net.URL cloudConfigUrl
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  cloudConfigUrl  Ljava/net/URL;
    Signature: (Ljava/net/URL;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      cloudConfigUrl  

  public SelfT withCloudSecureConnectBundle(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.io.InputStream cloudConfigInputStream
         0: .line 454
            aload 0 /* this */
            aload 1 /* cloudConfigInputStream */
            invokedynamic call(Ljava/io/InputStream;)Ljava/util/concurrent/Callable;
              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/api/core/session/SessionBuilder.lambda$2(Ljava/io/InputStream;)Ljava/io/InputStream; (6)
                  ()Ljava/io/InputStream;
            putfield com.datastax.oss.driver.api.core.session.SessionBuilder.cloudConfigInputStream:Ljava/util/concurrent/Callable;
         1: .line 455
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // java.io.InputStream cloudConfigInputStream
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  cloudConfigInputStream  Ljava/io/InputStream;
    Signature: (Ljava/io/InputStream;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                        Name  Flags
      cloudConfigInputStream  

  public SelfT withCloudProxyAddress(java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.net.InetSocketAddress cloudProxyAddress
         0: .line 476
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            aload 1 /* cloudProxyAddress */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.withCloudProxyAddress:(Ljava/net/InetSocketAddress;)Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            pop
         1: .line 477
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.self:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            areturn
        end local 1 // java.net.InetSocketAddress cloudProxyAddress
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    2     1  cloudProxyAddress  Ljava/net/InetSocketAddress;
    Signature: (Ljava/net/InetSocketAddress;)TSelfT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
                   Name  Flags
      cloudProxyAddress  

  public java.util.concurrent.CompletionStage<SessionT> buildAsync();
    descriptor: ()Ljava/util/concurrent/CompletionStage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
         0: .line 487
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.buildDefaultSessionAsync:()Ljava/util/concurrent/CompletionStage;
            astore 1 /* buildStage */
        start local 1 // java.util.concurrent.CompletionStage buildStage
         1: .line 488
            aload 1 /* buildStage */
            aload 0 /* this */
            invokedynamic apply(Lcom/datastax/oss/driver/api/core/session/SessionBuilder;)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/api/core/session/SessionBuilder.wrap(Lcom/datastax/oss/driver/api/core/CqlSession;)Ljava/lang/Object; (5)
                  (Lcom/datastax/oss/driver/api/core/CqlSession;)Ljava/lang/Object;
            invokeinterface java.util.concurrent.CompletionStage.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
            astore 2 /* wrapStage */
        start local 2 // java.util.concurrent.CompletionStage wrapStage
         2: .line 490
            aload 2 /* wrapStage */
            aload 1 /* buildStage */
            invokestatic com.datastax.oss.driver.internal.core.util.concurrent.CompletableFutures.propagateCancellation:(Ljava/util/concurrent/CompletionStage;Ljava/util/concurrent/CompletionStage;)V
         3: .line 491
            aload 2 /* wrapStage */
            areturn
        end local 2 // java.util.concurrent.CompletionStage wrapStage
        end local 1 // java.util.concurrent.CompletionStage buildStage
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            1    4     1  buildStage  Ljava/util/concurrent/CompletionStage<Lcom/datastax/oss/driver/api/core/CqlSession;>;
            2    4     2   wrapStage  Ljava/util/concurrent/CompletionStage<TSessionT;>;
    Signature: ()Ljava/util/concurrent/CompletionStage<TSessionT;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public SessionT build();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
         0: .line 500
            invokestatic com.datastax.oss.driver.internal.core.util.concurrent.BlockingOperation.checkNotDriverThread:()V
         1: .line 501
            aload 0 /* this */
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.buildAsync:()Ljava/util/concurrent/CompletionStage;
            invokestatic com.datastax.oss.driver.internal.core.util.concurrent.CompletableFutures.getUninterruptibly:(Ljava/util/concurrent/CompletionStage;)Ljava/lang/Object;
            areturn
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
    Signature: ()TSessionT;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  protected abstract SessionT wrap(com.datastax.oss.driver.api.core.CqlSession);
    descriptor: (Lcom/datastax/oss/driver/api/core/CqlSession;)Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lcom/datastax/oss/driver/api/core/CqlSession;)TSessionT;
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      defaultSession  

  protected final java.util.concurrent.CompletionStage<com.datastax.oss.driver.api.core.CqlSession> buildDefaultSessionAsync();
    descriptor: ()Ljava/util/concurrent/CompletionStage;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
         0: .line 509
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.configLoader:Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            aload 0 /* this */
            invokedynamic get(Lcom/datastax/oss/driver/api/core/session/SessionBuilder;)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/api/core/session/SessionBuilder.defaultConfigLoader()Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader; (5)
                  ()Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            invokestatic com.datastax.oss.driver.api.core.session.SessionBuilder.buildIfNull:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.config.DriverConfigLoader
            astore 1 /* configLoader */
        start local 1 // com.datastax.oss.driver.api.core.config.DriverConfigLoader configLoader
         1: .line 511
            aload 1 /* configLoader */
            invokeinterface com.datastax.oss.driver.api.core.config.DriverConfigLoader.getInitialConfig:()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 /* defaultConfig */
        start local 3 // com.datastax.oss.driver.api.core.config.DriverExecutionProfile defaultConfig
         2: .line 512
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.cloudConfigInputStream:Ljava/util/concurrent/Callable;
            ifnonnull 7
         3: .line 514
            aload 3 /* defaultConfig */
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.CLOUD_SECURE_CONNECT_BUNDLE:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            aconst_null
            invokeinterface com.datastax.oss.driver.api.core.config.DriverExecutionProfile.getString:(Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/lang/String;)Ljava/lang/String;
         4: .line 513
            astore 4 /* configUrlString */
        start local 4 // java.lang.String configUrlString
         5: .line 515
            aload 4 /* configUrlString */
            ifnull 7
         6: .line 516
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* configUrlString */
            invokedynamic call(Lcom/datastax/oss/driver/api/core/session/SessionBuilder;Ljava/lang/String;)Ljava/util/concurrent/Callable;
              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/api/core/session/SessionBuilder.lambda$5(Ljava/lang/String;)Ljava/io/InputStream; (7)
                  ()Ljava/io/InputStream;
            putfield com.datastax.oss.driver.api.core.session.SessionBuilder.cloudConfigInputStream:Ljava/util/concurrent/Callable;
        end local 4 // java.lang.String configUrlString
         7: .line 520
      StackMap locals: com.datastax.oss.driver.api.core.session.SessionBuilder com.datastax.oss.driver.api.core.config.DriverConfigLoader top com.datastax.oss.driver.api.core.config.DriverExecutionProfile
      StackMap stack:
            aload 3 /* defaultConfig */
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.CONTACT_POINTS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokeinterface com.datastax.oss.driver.api.core.config.DriverExecutionProfile.getStringList:(Lcom/datastax/oss/driver/api/core/config/DriverOption;Ljava/util/List;)Ljava/util/List;
         8: .line 519
            astore 4 /* configContactPoints */
        start local 4 // java.util.List configContactPoints
         9: .line 521
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.cloudConfigInputStream:Ljava/util/concurrent/Callable;
            ifnull 22
        10: .line 522
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticContactPoints:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 11
            aload 4 /* configContactPoints */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 14
        11: .line 523
      StackMap locals: java.util.List
      StackMap stack:
            new java.lang.IllegalStateException
            dup
        12: .line 524
            ldc "Can't use withCloudSecureConnectBundle and addContactPoint(s). They are mutually exclusive."
        13: .line 523
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 527
      StackMap locals:
      StackMap stack:
            new com.datastax.oss.driver.internal.core.config.cloud.CloudConfigFactory
            dup
            invokespecial com.datastax.oss.driver.internal.core.config.cloud.CloudConfigFactory.<init>:()V
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.cloudConfigInputStream:Ljava/util/concurrent/Callable;
            invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
            checkcast java.io.InputStream
            invokevirtual com.datastax.oss.driver.internal.core.config.cloud.CloudConfigFactory.createCloudConfig:(Ljava/io/InputStream;)Lcom/datastax/oss/driver/internal/core/config/cloud/CloudConfig;
        15: .line 526
            astore 5 /* cloudConfig */
        start local 5 // com.datastax.oss.driver.internal.core.config.cloud.CloudConfig cloudConfig
        16: .line 528
            aload 0 /* this */
            aload 5 /* cloudConfig */
            invokevirtual com.datastax.oss.driver.internal.core.config.cloud.CloudConfig.getEndPoints:()Ljava/util/List;
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.addContactEndPoints:(Ljava/util/Collection;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            pop
        17: .line 529
            aload 0 /* this */
            aload 5 /* cloudConfig */
            invokevirtual com.datastax.oss.driver.internal.core.config.cloud.CloudConfig.getLocalDatacenter:()Ljava/lang/String;
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.withLocalDatacenter:(Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            pop
        18: .line 530
            aload 0 /* this */
            aload 5 /* cloudConfig */
            invokevirtual com.datastax.oss.driver.internal.core.config.cloud.CloudConfig.getSslEngineFactory:()Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.withSslEngineFactory:(Lcom/datastax/oss/driver/api/core/ssl/SslEngineFactory;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            pop
        19: .line 531
            aload 0 /* this */
            aload 5 /* cloudConfig */
            invokevirtual com.datastax.oss.driver.internal.core.config.cloud.CloudConfig.getProxyAddress:()Ljava/net/InetSocketAddress;
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.withCloudProxyAddress:(Ljava/net/InetSocketAddress;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            pop
        20: .line 532
            aload 5 /* cloudConfig */
            invokevirtual com.datastax.oss.driver.internal.core.config.cloud.CloudConfig.getAuthProvider:()Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 22
        21: .line 533
            aload 0 /* this */
            aload 5 /* cloudConfig */
            invokevirtual com.datastax.oss.driver.internal.core.config.cloud.CloudConfig.getAuthProvider:()Ljava/util/Optional;
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.auth.AuthProvider
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.withAuthProvider:(Lcom/datastax/oss/driver/api/core/auth/AuthProvider;)Lcom/datastax/oss/driver/api/core/session/SessionBuilder;
            pop
        end local 5 // com.datastax.oss.driver.internal.core.config.cloud.CloudConfig cloudConfig
        22: .line 538
      StackMap locals:
      StackMap stack:
            aload 3 /* defaultConfig */
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.RESOLVE_CONTACT_POINTS:Lcom/datastax/oss/driver/api/core/config/DefaultDriverOption;
            iconst_1
            invokeinterface com.datastax.oss.driver.api.core.config.DriverExecutionProfile.getBoolean:(Lcom/datastax/oss/driver/api/core/config/DriverOption;Z)Z
        23: .line 537
            istore 5 /* resolveAddresses */
        start local 5 // boolean resolveAddresses
        24: .line 541
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticContactPoints:Ljava/util/Set;
            aload 4 /* configContactPoints */
            iload 5 /* resolveAddresses */
            invokestatic com.datastax.oss.driver.internal.core.ContactPoints.merge:(Ljava/util/Set;Ljava/util/List;Z)Ljava/util/Set;
        25: .line 540
            astore 6 /* contactPoints */
        start local 6 // java.util.Set contactPoints
        26: .line 543
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.keyspace:Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            ifnonnull 30
            aload 3 /* defaultConfig */
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.SESSION_KEYSPACE: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 30
        27: .line 544
            aload 0 /* this */
        28: .line 545
            aload 3 /* defaultConfig */
            getstatic com.datastax.oss.driver.api.core.config.DefaultDriverOption.SESSION_KEYSPACE: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;
            invokestatic com.datastax.oss.driver.api.core.CqlIdentifier.fromCql:(Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/CqlIdentifier;
        29: .line 544
            putfield com.datastax.oss.driver.api.core.session.SessionBuilder.keyspace:Lcom/datastax/oss/driver/api/core/CqlIdentifier;
        30: .line 549
      StackMap locals: int java.util.Set
      StackMap stack:
            aload 0 /* this */
            aload 1 /* configLoader */
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.programmaticArgumentsBuilder:Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments$Builder;
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.build:()Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.buildContext:(Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;)Lcom/datastax/oss/driver/api/core/context/DriverContext;
            checkcast com.datastax.oss.driver.internal.core.context.InternalDriverContext
        31: .line 550
            aload 6 /* contactPoints */
        32: .line 551
            aload 0 /* this */
            getfield com.datastax.oss.driver.api.core.session.SessionBuilder.keyspace:Lcom/datastax/oss/driver/api/core/CqlIdentifier;
        33: .line 548
            invokestatic com.datastax.oss.driver.internal.core.session.DefaultSession.init:(Lcom/datastax/oss/driver/internal/core/context/InternalDriverContext;Ljava/util/Set;Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/concurrent/CompletionStage;
        34: areturn
        end local 6 // java.util.Set contactPoints
        end local 5 // boolean resolveAddresses
        end local 4 // java.util.List configContactPoints
        end local 3 // com.datastax.oss.driver.api.core.config.DriverExecutionProfile defaultConfig
        end local 1 // com.datastax.oss.driver.api.core.config.DriverConfigLoader configLoader
        35: .line 553
      StackMap locals: com.datastax.oss.driver.api.core.session.SessionBuilder
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
        36: .line 556
            aload 1 /* t */
            invokestatic com.datastax.oss.driver.internal.core.util.concurrent.CompletableFutures.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 1 // java.lang.Throwable t
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   37     0                 this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            1   35     1         configLoader  Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            2   35     3        defaultConfig  Lcom/datastax/oss/driver/api/core/config/DriverExecutionProfile;
            5    7     4      configUrlString  Ljava/lang/String;
            9   35     4  configContactPoints  Ljava/util/List<Ljava/lang/String;>;
           16   22     5          cloudConfig  Lcom/datastax/oss/driver/internal/core/config/cloud/CloudConfig;
           24   35     5     resolveAddresses  Z
           26   35     6        contactPoints  Ljava/util/Set<Lcom/datastax/oss/driver/api/core/metadata/EndPoint;>;
           36   37     1                    t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0    34      35  Class java.lang.Throwable
    Signature: ()Ljava/util/concurrent/CompletionStage<Lcom/datastax/oss/driver/api/core/CqlSession;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  private java.net.URL getURL(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
        start local 1 // java.lang.String configUrl
         0: .line 570
            new java.net.URL
            dup
            aload 1 /* configUrl */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
         1: areturn
         2: .line 571
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            astore 2 /* e1 */
        start local 2 // java.net.MalformedURLException e1
         3: .line 573
            aload 1 /* configUrl */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
         4: areturn
         5: .line 574
      StackMap locals: com.datastax.oss.driver.api.core.session.SessionBuilder java.lang.String java.net.MalformedURLException
      StackMap stack: java.net.MalformedURLException
            astore 3 /* e2 */
        start local 3 // java.net.MalformedURLException e2
         6: .line 575
            aload 3 /* e2 */
            aload 2 /* e1 */
            invokevirtual java.net.MalformedURLException.addSuppressed:(Ljava/lang/Throwable;)V
         7: .line 576
            aload 3 /* e2 */
            athrow
        end local 3 // java.net.MalformedURLException e2
        end local 2 // java.net.MalformedURLException e1
        end local 1 // java.lang.String configUrl
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    8     1  configUrl  Ljava/lang/String;
            3    8     2         e1  Ljava/net/MalformedURLException;
            6    8     3         e2  Ljava/net/MalformedURLException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.MalformedURLException
           3     4       5  Class java.net.MalformedURLException
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
           Name  Flags
      configUrl  

  protected com.datastax.oss.driver.api.core.context.DriverContext buildContext(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;)Lcom/datastax/oss/driver/api/core/context/DriverContext;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=4, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder 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 591
            aload 0 /* this */
         1: .line 592
            aload 1 /* configLoader */
         2: .line 593
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getTypeCodecs:()Ljava/util/List;
         3: .line 594
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getNodeStateListener:()Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
         4: .line 595
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getSchemaChangeListener:()Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
         5: .line 596
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getRequestTracker:()Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
         6: .line 597
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getLocalDatacenters:()Ljava/util/Map;
         7: .line 598
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getNodeFilters:()Ljava/util/Map;
         8: .line 599
            aload 2 /* programmaticArguments */
            invokevirtual com.datastax.oss.driver.api.core.session.ProgrammaticArguments.getClassLoader:()Ljava/lang/ClassLoader;
         9: .line 591
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.buildContext:(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;)Lcom/datastax/oss/driver/api/core/context/DriverContext;
        10: .line 590
            astore 3 /* legacyApiContext */
        start local 3 // com.datastax.oss.driver.api.core.context.DriverContext legacyApiContext
        11: .line 600
            aload 3 /* legacyApiContext */
            ifnull 13
        12: .line 601
            aload 3 /* legacyApiContext */
            areturn
        13: .line 604
      StackMap locals: com.datastax.oss.driver.api.core.context.DriverContext
      StackMap stack:
            new com.datastax.oss.driver.internal.core.context.DefaultDriverContext
            dup
            aload 1 /* configLoader */
            aload 2 /* 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
            areturn
        end local 3 // com.datastax.oss.driver.api.core.context.DriverContext legacyApiContext
        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.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   14     0                   this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0   14     1           configLoader  Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            0   14     2  programmaticArguments  Lcom/datastax/oss/driver/api/core/session/ProgrammaticArguments;
           11   14     3       legacyApiContext  Lcom/datastax/oss/driver/api/core/context/DriverContext;
    MethodParameters:
                       Name  Flags
      configLoader           
      programmaticArguments  

  protected com.datastax.oss.driver.api.core.context.DriverContext buildContext(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;)Lcom/datastax/oss/driver/api/core/context/DriverContext;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=9, args_size=9
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder 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 623
            aconst_null
            areturn
        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.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0                  this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
            0    1     1          configLoader  Lcom/datastax/oss/driver/api/core/config/DriverConfigLoader;
            0    1     2            typeCodecs  Ljava/util/List<Lcom/datastax/oss/driver/api/core/type/codec/TypeCodec<*>;>;
            0    1     3     nodeStateListener  Lcom/datastax/oss/driver/api/core/metadata/NodeStateListener;
            0    1     4  schemaChangeListener  Lcom/datastax/oss/driver/api/core/metadata/schema/SchemaChangeListener;
            0    1     5        requestTracker  Lcom/datastax/oss/driver/api/core/tracker/RequestTracker;
            0    1     6      localDatacenters  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    1     7           nodeFilters  Ljava/util/Map<Ljava/lang/String;Ljava/util/function/Predicate<Lcom/datastax/oss/driver/api/core/metadata/Node;>;>;
            0    1     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;)Lcom/datastax/oss/driver/api/core/context/DriverContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                      Name  Flags
      configLoader          
      typeCodecs            
      nodeStateListener     
      schemaChangeListener  
      requestTracker        
      localDatacenters      
      nodeFilters           
      classLoader           

  private static <T> T buildIfNull(T, java.util.function.Supplier<T>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object value
        start local 1 // java.util.function.Supplier builder
         0: .line 627
            aload 0 /* value */
            ifnonnull 1
            aload 1 /* builder */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* value */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 1 // java.util.function.Supplier builder
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0    value  TT;
            0    3     1  builder  Ljava/util/function/Supplier<TT;>;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/util/function/Supplier<TT;>;)TT;
    MethodParameters:
         Name  Flags
      value    
      builder  

  private static java.io.InputStream lambda$2(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/io/InputStream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 454
            aload 0
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private java.io.InputStream lambda$5(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
         0: .line 516
            aload 0 /* this */
            aload 1
            invokevirtual com.datastax.oss.driver.api.core.session.SessionBuilder.getURL:(Ljava/lang/String;)Ljava/net/URL;
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            areturn
        end local 0 // com.datastax.oss.driver.api.core.session.SessionBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/datastax/oss/driver/api/core/session/SessionBuilder<TSelfT;TSessionT;>;
    Exceptions:
      throws java.lang.Exception
}
Signature: <SelfT:Lcom/datastax/oss/driver/api/core/session/SessionBuilder;SessionT:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "SessionBuilder.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.NotThreadSafe()