/** * Stores a given Throwable in this AsyncFaultWrapper * If the supplied Throwable itself contains an embedded Throwable ("cause"), this is recursively * wrapped by a nested AsyncFaultWrapper * @param e - the Throwable */ public void storeFault( Throwable e ) { setFaultClassName( e.getClass().getCanonicalName() ); setFaultMessage( e.getMessage() ); Throwable cause = e.getCause(); if( cause != null ) setContainedFault( new AsyncFaultWrapper( cause ) ); }