code: protected void createRecursiveIncidents(String rootCauseIncidentId, List<IncidentEntity> createdIncidents) {
  
      final ExecutionEntity execution = getExecution();
  
      if(execution != null) {
  
        ExecutionEntity superExecution = execution.getProcessInstance().getSuperExecution();
  
        if (superExecution != null) {
  
          // create a new incident
          IncidentEntity newIncident = create(incidentType);
          newIncident.setExecution(superExecution);
          newIncident.setActivityId(superExecution.getCurrentActivityId());
          newIncident.setProcessDefinitionId(superExecution.getProcessDefinitionId());
          newIncident.setTenantId(superExecution.getTenantId());
  
          // set cause and root cause
          newIncident.setCauseIncidentId(id);
          newIncident.setRootCauseIncidentId(rootCauseIncidentId);
  
          // insert new incident (and create a new historic incident)
          insert(newIncident);
  
          // add new incident to result set
          createdIncidents.add(newIncident);
  
          newIncident.createRecursiveIncidents(rootCauseIncidentId, createdIncidents);
        }
      }
    }
docs: Instantiate recursive a new incident a super execution
  (i.e. super process instance) which is affected from this
  incident.
  For example: a super process instance called via CallActivity
  a new process instance on which an incident happened, so that
  the super process instance has an incident too.