public void resume() throws WfException, CannotResume, NotRunning, NotSuspended {
if (!state().equals("open.not_running.suspended")) {
if (state().equals("open.not_running.not_started")) {
throw new NotRunning();
} else if (state().startsWith("closed")) {
throw new CannotResume();
} else {
throw new NotSuspended();
}
} else {
changeState("open.running");