protected boolean checkConnection(T connection, ClickHouseNode requestServer, ClickHouseNode currentServer,
            ClickHouseRequest<?> request) {
        return connection != null && requestServer.equals(currentServer);
    }
Checks if the underlying connection can be reused. In general, new connection
will be created when {@code connection} is {@code null} or
{@code requestServer} is different from {@code currentServer} - the existing
connection will be closed in the later case.

@param connection    existing connection which may or may not be null
@param requestServer non-null requested server, returned from previous call
                     of {@code request.getServer()}
@param currentServer current server, same as {@code getServer()}
@param request       non-null request
@return true if the connection should NOT be changed(e.g. requestServer is
        same as currentServer); false otherwise
clickhouse-client/src/main/java/com/clickhouse/client/AbstractClient.java