// TODO Double-check this logic, rsp.getValue() is a Response so it's 100% not Throwable
if (rsp != null && rsp.getValue() instanceof Throwable) {
Throwable throwable = (Throwable) rsp.getValue();
if (trace)
log.tracef("Received Throwable from remote node %s", throwable, rsp.getKey());
throw new RpcException(throwable);
}
}
}
}