protected DriverContext buildContext(
      DriverConfigLoader configLoader,
      List<TypeCodec<?>> typeCodecs,
      NodeStateListener nodeStateListener,
      SchemaChangeListener schemaChangeListener,
      RequestTracker requestTracker,
      Map<String, String> localDatacenters,
      Map<String, Predicate<Node>> nodeFilters,
      ClassLoader classLoader) {
    return new DefaultDriverContext(
        configLoader,
        typeCodecs,
        nodeStateListener,
        schemaChangeListener,
        requestTracker,
        localDatacenters,
        nodeFilters,
        classLoader);
  }
protected DriverContext buildContext ( DriverConfigLoader configLoader , List < TypeCodec < ? > > typeCodecs , NodeStateListener nodeStateListener , SchemaChangeListener schemaChangeListener , RequestTracker requestTracker , Map < String , String > localDatacenters , Map < String , Predicate < Node > > nodeFilters , ClassLoader classLoader ) { return new DefaultDriverContext ( configLoader , typeCodecs , nodeStateListener , schemaChangeListener , requestTracker , localDatacenters , nodeFilters , classLoader ) ; }
This <b>must</b> return an instance of {@code InternalDriverContext} (it's not expressed
directly in the signature to avoid leaking that type through the protected API).