in jbpm/src/main/java/com/intellij/jboss/bpmn/jpdl/graph/dnd/JpdlDnDSupport.java [72:100]
public JpdlNode drop(final JpdlNodeType jpdlNodeType) {
final ProcessDefinition processDefinition = getDataModel().getProcessDefinition();
if (processDefinition == null) return null;
final Project project = getDataModel().getProject();
return switch (jpdlNodeType) {
case STATE -> startInWCA(project, processDefinition, getDropStateFunction());
case TASK -> startInWCA(project, processDefinition, getDropTaskFunction());
case FORK -> startInWCA(project, processDefinition, getDropForkFunction());
case JOIN -> startInWCA(project, processDefinition, getDropJoinFunction());
case JAVA -> startInWCA(project, processDefinition, getDropJavaFunction());
case CUSTOM -> startInWCA(project, processDefinition, getDropCustomFunction());
case DECISIION -> startInWCA(project, processDefinition, getDropDecisionFunction());
case START -> startInWCA(project, processDefinition, getDropStartFunction());
case SUBPROCESS -> startInWCA(project, processDefinition, getDropSubProcessFunction());
case END -> startInWCA(project, processDefinition, getDropEndFunction());
case MAIL -> startInWCA(project, processDefinition, getDropMailFunction());
case END_CANCEL -> startInWCA(project, processDefinition, getDropEndCancelFunction());
case END_ERROR -> startInWCA(project, processDefinition, getDropEndErrorFunction());
case SCRIPT -> startInWCA(project, processDefinition, getDropScriptFunction());
case RULES -> startInWCA(project, processDefinition, getDropRuleFunction());
case RULES_DECISION -> startInWCA(project, processDefinition, getDropRulesDecisionFunction());
case SQL -> startInWCA(project, processDefinition, getDropSqlFunction());
case HQL -> startInWCA(project, processDefinition, getDropHqlFunction());
case GROUP -> startInWCA(project, processDefinition, getDropGroupFunction());
default -> null;
};
}