private List getCallActivityProcessInstances()

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;
  }