docs: @Override
      public CompletableFuture<Tuple2<List<TypedMap>, ExecutionInfo>> getTypedMapsAsyncWithStats() {
          final RuntimeEngine rte = getRte();
          final CassandraOptions options = getOptions();
  
          final StatementWrapper statementWrapper = getInternalBoundStatementWrapper();
  
          if (LOGGER.isTraceEnabled()) {
              LOGGER.trace(format("Select async with execution info : %s",
                      statementWrapper.getBoundStatement().preparedStatement().getQueryString()));
          }
          CompletableFuture<ResultSet> futureRS = rte.execute(statementWrapper);
  
          return futureRS
              .thenApply(options::resultSetAsyncListener)
                      .thenApply(x -> statementWrapper.logReturnResults(x, options.computeMaxDisplayedResults(rte.configContext)))
                      .thenApply(statementWrapper::logTrace)
                      .thenApply(x -> Tuple2.of(mapResultSetToTypedMaps(x), x.getExecutionInfo()));
      }