I needed a filtered version of the pooledTaskInstanceList so that i could select tasks assigned to a given actor pool.
the two actor pools tasks that i needed were CRS_Releaser and CRS_Processor.
i can use following to get my filtered lists
#{cRSReleaserPooledTaskInstanceList}
#c{RSProcessorrPooledTaskInstanceList}
package main.java.com.sms.crs.customComponents; import org.jboss.seam.annotations.In; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Out; import org.jboss.seam.annotations.Factory; import org.jbpm.taskmgmt.exe.TaskInstance; import java.util.List; import java.util.Iterator; import java.util.ArrayList; @Name("customSeamComponents") public class CustomSeamComponent { @In(required = true) private List pooledTaskInstanceList; //could make this filter on more than a single actor..really this is a group @Factory("cRSReleaserPooledTaskInstanceList") public List cRSReleaserPooledTaskInstanceList() { return filteredPooledTaskInstanceList("CRS_Releaser"); } @Factory("cRSProcessorPooledTaskInstanceList") public List cRSProcessorPooledTaskInstanceList() { return filteredPooledTaskInstanceList("CRS_Processor"); } //pooled actor is a Role private List filteredPooledTaskInstanceList(String pooledActor) { List taskInstanceList = new ArrayList(); Iterator pooledTaskItr = pooledTaskInstanceList.iterator(); while (pooledTaskItr.hasNext()) { TaskInstance taskInstance = (TaskInstance) pooledTaskItr.next(); if (taskInstance.getTask().getPooledActorsExpression().equals(pooledActor)) { taskInstanceList.add(taskInstance); } } return taskInstanceList; } }