/** The execution of the action should be done by calling this method. */ public final void runAction() { if (actionFlowState == null) { actionFlowState = new ActionFlowState(1, finalAction); } if (model.getProgress() == null) { model.startProgress(null); actionFlowState.setStartedProgress(true); } if (parallelAction != null) { parallelAction.runParallelAction(actionFlowState); } if (shouldExecute()) { internalRunAction(); } else { runNextAction(); } }