public final boolean checkResponse(Object responseObject, Address sender) throws Exception {
Log log = getLog();
if (responseObject instanceof Response) {
Response response = (Response) responseObject;
if (response instanceof ExceptionResponse) {
ExceptionResponse exceptionResponse = (ExceptionResponse) response;
Exception e = exceptionResponse.getException();
if (!(e instanceof RpcException)) {
// if we have any application-level exceptions make sure we throw them!!
if (shouldThrowException(e)) {
throw log.remoteException(sender, e);
} else {