public static Collection<ChecklistItem> getLoggedChecklistItems(WorkflowProcess process, List<NodeInstanceLog> nodeInstances) { Map<String, ChecklistItem> result = new HashMap<String, ChecklistItem>(); Map<String, String> relevantNodes = new HashMap<String, String>(); getRelevantNodes(process, relevantNodes); for (NodeInstanceLog log: nodeInstances) { String orderingNb = relevantNodes.get(log.getNodeId()); if (orderingNb != null) { if (log.getType() == NodeInstanceLog.TYPE_EXIT) { result.put(orderingNb, createChecklistItem(log.getNodeName(), log.getNodeType(), "", orderingNb, 0, log.getProcessId(), Status.Completed)); } else { if (result.get(orderingNb) == null) { result.put(orderingNb, createChecklistItem(log.getNodeName(), log.getNodeType(), "", orderingNb, 0, log.getProcessId(), Status.InProgress)); } } } } return result.values(); }