@Override default T inclusiveGate() { return add(new InclusiveGateway(nextStepId())); }
@Override default T parallelGate() { return add(new ParallelGateway(nextStepId())); }
@Override default T call(String calledElement, Set<VariableMapping> in, Set<VariableMapping> out) { return add(new CallActivity(nextStepId(), calledElement, in, out)); }
@Override default Seq userTask(List<UserTask.Extension> extensions) { return add(new UserTask(nextStepId(), extensions)); }
default T task(ExpressionType expType, String expr, Set<VariableMapping> in, Set<VariableMapping> out, boolean copyAllVariables) { return add(new ServiceTask(nextStepId(), expType, expr, in, out, copyAllVariables)); }
@Override default T catchEventExpr(String messageRefExpr, String timeDate, String timeDuration) { return add(new IntermediateCatchEvent(nextStepId(), null, messageRefExpr, timeDate, timeDuration, null)); }
@Override default T exclusiveGate() { return add(new ExclusiveGateway(nextStepId())); }
@Override default T call(String calledElement) { return add(new CallActivity(nextStepId(), calledElement)); }
@Override default T catchEvent(String messageRef, String timeDate, String timeDuration) { return add(new IntermediateCatchEvent(nextStepId(), messageRef, timeDate, timeDuration)); }
@Override default T catchEvent() { return add(new IntermediateCatchEvent(nextStepId())); }
@Override default T exclusiveGate(String defaultFlow) { return add(new ExclusiveGateway(nextStepId(), defaultFlow)); }
@Override default T eventGate() { return add(new EventBasedGateway(nextStepId())); }
@Override default T call(String calledElement, Set<VariableMapping> in, Set<VariableMapping> out, boolean copyAllVariables) { return add(new CallActivity(nextStepId(), calledElement, in, out, copyAllVariables)); }
@Override default T call(String calledElement, boolean copyAllVariables) { return add(new CallActivity(nextStepId(), calledElement, copyAllVariables)); }
@Override default T script(ScriptTask.Type type, String language, String content, boolean copyAllVariables) { return add(new ScriptTask(nextStepId(), type, language, content, copyAllVariables)); }