protected Throwable unwrap ( Throwable throwable ) { if ( throwable instanceof ExecutionException && throwable . getCause ( ) != null ) { return throwable . getCause ( ) ; } return throwable ; }
this method should not be needed ; but there is a difference between client and server how it handles async throwables