@Override
 public void onComplete(ClientResponse response) {
   if (response.wasDisconnected()) {
     ClientRequest request = response.request();
     RequestSend send = request.request();
     ApiKeys api = ApiKeys.forId(send.header().apiKey());
     int correlation = send.header().correlationId();
     log.debug(
         "Cancelled {} request {} with correlation id {} due to node {} being disconnected",
         api,
         request,
         correlation,
         send.destination());
     raise(DisconnectException.INSTANCE);
   } else {
     complete(response);
   }
 }