if (step.getId().equals(restartPoint)) {
runStep(step);
break;
}
} else if (e instanceof Flow) {
final Flow flow = (Flow) e;
if (flow.getId().equals(restartPoint)) {
runFlow(flow, null);
break;
}
} else if (e instanceof Split) {
final Split split = (Split) e;
if (split.getId().equals(restartPoint)) {
runSplit(split);
break;
}
} else if (e instanceof Decision) {
final Decision decision = (Decision) e;
if (decision.getId().equals(restartPoint)) {
runDecision(decision);
}
break;
}
}
} else {
// the head of the composite job element is the first non-abstract element (step, flow, or split)
for (final JobElement e : getJobElements()) {
if (e instanceof Step) {
final Step step = (Step) e;
// if (Boolean.parseBoolean(step.getAbstract())) {
// continue;
// }
runStep(step);
break;
} else if (e instanceof Flow) {
final Flow flow = (Flow) e;
//A flow cannot be abstract or have parent, so run the flow
runFlow(flow, null);
break;
} else if (e instanceof Split) {
final Split split = (Split) e;