private void handlerSideCollect(final int resultIdx) {
ListenableFuture<Object[][]> future = handlerSideDataCollectOperation.collect(collectNode);
Futures.addCallback(future, new FutureCallback<Object[][]>() {
@Override
public void onSuccess(@Nullable Object[][] rows) {
((SettableFuture<QueryResult>)result.get(resultIdx)).set(new QueryResult(rows));
}
@Override
public void onFailure(@Nonnull Throwable t) {
((SettableFuture<QueryResult>)result.get(resultIdx)).setException(t);