CleanUpStrategy strategy = definition.getCleanUpStrategy();
if (strategy.giveUpTotaly(context)) {
doLog("strategy says we should give up", exceptions);
throw lastEx;
}
strategy.cleanUp(context);
Object[] loadedArgs = argSaver.restoreArgs();
try {
return invocation.proceed(loadedArgs);
} catch (Throwable ex) {
exceptions.add(ex);