public TaskSummaryList getTasksAssignedAsPotentialOwner(List<String> status, List<String> groupIds, String userId, Integer page, Integer pageSize, String sort, boolean sortOrder, String filter) { List<Status> taskStatuses = buildTaskStatuses(status); userId = getUser(userId); logger.debug("About to search for task assigned as potential owner for user '{}'", userId); List<TaskSummary> tasks; QueryFilter queryFilter = buildTaskByNameQueryFilter(page, pageSize, sort, sortOrder, filter); if (groupIds != null && !groupIds.isEmpty()) { if (taskStatuses == null) { tasks = runtimeDataService.getTasksAssignedAsPotentialOwner(userId, groupIds, queryFilter); } else { tasks = runtimeDataService.getTasksAssignedAsPotentialOwner(userId, groupIds, taskStatuses, queryFilter); } } else if (taskStatuses != null) { tasks = runtimeDataService.getTasksAssignedAsPotentialOwnerByStatus(userId, taskStatuses, queryFilter); } else { tasks = runtimeDataService.getTasksAssignedAsPotentialOwner(userId, queryFilter); } logger.debug("Found {} tasks for user '{}' assigned as potential owner", tasks.size(), userId); TaskSummaryList result = convertToTaskSummaryList(tasks); return result; }