I've seen a couple of examples using BAM (I think jbpm graph uses this approach). There's also a Drools Fusion approach for more control. There used to be a way in jBPM 3.x:
ProcessInstance processInstance= getProcessInstance();
//get the task management instance of the process instance
TaskMgmtInstance taskManagementInstance = processInstance.getTaskMgmtInstance();
//find the unfinished tasks
Collection taskInstances = taskManagementInstance.getUnfinishedTasks(processInstance.getRootToken());
Is there a similar way in jBPM5?