in ddm-bpm-rest/src/main/java/com/epam/digital/data/platform/bpms/rest/service/repository/ProcessInstanceRuntimeService.java [130:146]
private List<ProcessInstance> getCallActivityProcessInstances(String rootProcessInstanceId,
List<ProcessInstance> processInstanceList, int currentSubProcessLevel) {
if (currentSubProcessLevel < MAX_NUMBER_OF_NESTED_SUB_PROCESSES) {
var callActivityProcessInstances = getInstancesBySuperProcessInstanceId(
rootProcessInstanceId);
if (callActivityProcessInstances.isEmpty()) {
return processInstanceList;
}
processInstanceList.addAll(callActivityProcessInstances);
var increasedCurrentSubProcessLevel = ++currentSubProcessLevel;
callActivityProcessInstances.forEach(
processInstance -> this.getCallActivityProcessInstances(processInstance.getId(),
processInstanceList, increasedCurrentSubProcessLevel));
}
return processInstanceList;
}