@ Override public Object invoke ( Object proxy , Method method , Object [ ] args ) throws Throwable { if ( throwable != null ) { throw throwable ; } try { return invokeInternal ( proxy , method , args ) ; } catch ( Exception e ) { if ( this . throwable != null ) { logger . debug ( "exception caught: {} overridden by: {}" , e . getMessage ( ) , throwable . getMessage ( ) ) ; throw throwable ; } else { throw e ; } } }
The InvocationHandler invoke method is mapped to the ProxyInvocationHandler . invokeInternal