docs: @Override
    public List<Task> executeList(CommandContext commandContext, Page page) {
      ensureOrExpressionsEvaluated();
      ensureVariablesInitialized();
      checkQueryOk();
  
      resetCachedCandidateGroups();
  
      //check if candidateGroup and candidateGroups intersect
      if (getCandidateGroup() != null && getCandidateGroupsInternal() != null && getCandidateGroups().isEmpty()) {
        return Collections.emptyList();
      }
  
      List<Task> taskList = commandContext
        .getTaskManager()
        .findTasksByQueryCriteria(this);
  
      if (initializeFormKeys) {
        for (Task task : taskList) {
          // initialize the form keys of the tasks
          ((TaskEntity) task).initializeFormKey();
        }
      }
  
      return taskList;
    }