ClickHouseResponse send(ClickHouseRequest<?> sealedRequest) {
            try {
                return sendOnce(sealedRequest);
            } catch (Exception e) {
                return handle(sealedRequest, e.getCause() != null ? e.getCause() : e);
            }
        }
Repeats sending same request until success, timed out or running into a
different error.

@param sealedRequest non-null sealed request
@param exception     non-null exception to start with
@param timeout       timeout in milliseconds, zero or negative numbers means
                     no repeat
@return non-null response
@throws CompletionException when error occurred or timed out
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseClientBuilder.java