} catch (WorkflowException e) {
throw new ExecutionException(e);
}
Situation situation = factory.buildSituation(getRoleIDs(), userId, machineIp);
Event event = getExecutableEvent(instance, situation);
assert event != null;
if (log.isDebugEnabled()) {
log.debug("Invoking event [" + event.getName() + "]");
}
instance.invoke(situation, event);
if (log.isDebugEnabled()) {
log.debug("Invoking transition completed.");
}