private <T> CompletableFuture<T> runAsyncOperation(Supplier<T> resultSupplier, Map<String, Object> requestSettings) {
        boolean isAsync = MapUtils.getFlag(requestSettings, configuration, ClientConfigProperties.ASYNC_OPERATIONS.getKey());
        if (isAsync) {
            return sharedOperationExecutor == null ? CompletableFuture.supplyAsync(resultSupplier) :
                    CompletableFuture.supplyAsync(resultSupplier, sharedOperationExecutor);
        }
        return CompletableFuture.completedFuture(resultSupplier.get());
    }
<p>Create an instance of {@link ClickHouseBinaryFormatReader} based on response. Table schema is option and only
 required for {@link ClickHouseFormat#RowBinaryWithNames}, {@link ClickHouseFormat#RowBinary}.
 Format {@link ClickHouseFormat#RowBinaryWithDefaults} is not supported for output (read operations).</p>
@param response
@param schema
@return
client-v2/src/main/java/com/clickhouse/client/api/Client.java