protected <T> QueryFuture executeQueryAsync(final HBqlStatement statement,
final Class clazz,
final QueryListener<T>... listeners) throws HBqlException {
if (!Utils.isSelectStatement(statement))
throw new HBqlException("executeQueryAsync() requires a SELECT statement");
final AsyncExecutorImpl asyncExecutor = this.getHConnectionImpl().getAsyncExecutorForConnection();
final Query<T> query = Query.newQuery(this.getHConnectionImpl(), (SelectStatement)statement, clazz, listeners);