for (F.Tuple<ListenableFuture<Response>, Node> requestAndNode : requests) {
final ListenableFuture<Response> request = requestAndNode._1;
final Node node = requestAndNode._2;
try {
final Response response = request.get(timeoutValue, timeoutUnit);
node.touch();
results.put(node, deserializeJson(response, responseClass));
} catch (InterruptedException e) {
LOG.error("API call Interrupted", e);
node.markFailure();
} catch (ExecutionException e) {