docs: private void sendQuery(Query query, V3ParameterList parameters, int maxRows, int fetchSize,
        int flags, ResultHandler resultHandler,
        BatchResultHandler batchHandler) throws IOException, SQLException {
      // Now the query itself.
      Query[] subqueries = query.getSubqueries();
      SimpleParameterList[] subparams = parameters.getSubparams();
  
      // We know this is deprecated, but still respect it in case anyone's using it.
      // PgJDBC its self no longer does.
      @SuppressWarnings("deprecation")
      boolean disallowBatching = (flags & QueryExecutor.QUERY_DISALLOW_BATCHING) != 0;
  
      if (subqueries == null) {
        flushIfDeadlockRisk(query, disallowBatching, resultHandler, batchHandler, flags);
  
        // If we saw errors, don't send anything more.
        if (resultHandler.getException() == null) {
          sendOneQuery((SimpleQuery) query, (SimpleParameterList) parameters, maxRows, fetchSize,
              flags);
        }
      } else {
        for (int i = 0; i < subqueries.length; ++i) {
          final Query subquery = subqueries[i];
          flushIfDeadlockRisk(subquery, disallowBatching, resultHandler, batchHandler, flags);
  
          // If we saw errors, don't send anything more.
          if (resultHandler.getException() != null) {
            break;
          }
  
          // In the situation where parameters is already
          // NO_PARAMETERS it cannot know the correct
          // number of array elements to return in the
          // above call to getSubparams(), so it must
          // return null which we check for here.
          //
          SimpleParameterList subparam = SimpleQuery.NO_PARAMETERS;
          if (subparams != null) {
            subparam = subparams[i];
          }
          sendOneQuery((SimpleQuery) subquery, subparam, maxRows, fetchSize, flags);
        }
      }
    }