docs: @NonNull
    public Queue<Node> newQueryPlan(
        @Nullable Request request, @NonNull String executionProfileName, @Nullable Session session) {
      switch (stateRef.get()) {
        case BEFORE_INIT:
        case DURING_INIT:
          // The contact points are not stored in the metadata yet:
          List<Node> nodes = new ArrayList<>(context.getMetadataManager().getContactPoints());
          Collections.shuffle(nodes);
          return new ConcurrentLinkedQueue<>(nodes);
        case RUNNING:
          LoadBalancingPolicy policy = policiesPerProfile.get(executionProfileName);
          if (policy == null) {
            policy = policiesPerProfile.get(DriverExecutionProfile.DEFAULT_NAME);
          }
          return policy.newQueryPlan(request, session);
        default:
          return new ConcurrentLinkedQueue<>();
      }
    }