@Override
public void callTimeout(final Timer timer, final Method timeoutMethod) throws Exception {
final EjbComponentInstance instance = acquireInstance();
boolean discarded = false;
try {
instance.invokeTimeoutMethod(timeoutMethod, timer);
} catch (Exception ex) {
// Detect app exception
if (ejbComponent.getApplicationException(ex.getClass(), timeoutMethod) != null) {
// it's an application exception, just throw it back.
throw ex;