@Override <T> void executeQuery(ExecutionTracer tracer, QueryBinderImpl<T> queryBinder, ReadFutureImpl<T> futures) {
BoundStatement bStmt = queryBinder.statementFor(type);
if (bStmt != null) {
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Submitting query for {} : {}", type, bStmt.preparedStatement().getQueryString());
}
if (tracer != null) {
tracer.onBeginQuery(futures.session, this, bStmt);
}
futures.addResultSetFuture(this, queryBinder.session.executeAsync(bStmt), queryBinder.readColumnsFor(type));