try {
dispatch.undo(action, result);
} catch (ActionException e) {
logger.warning("Action exception while undoing " + action.getClass().getName() + ": " + e.getMessage());
throw new ActionException(e.getMessage());
} catch (ServiceException e) {
logger.warning("Service exception while undoing " + action.getClass().getName() + ": " + e.getMessage());
throw new ServiceException(e.getMessage());
} catch (RuntimeException e) {