class BaseProcessInstanceManagementResource implements ProcessInstanceManagement<T> {

    public T doGetProcessNodes(String processId) {
        return executeOnProcess(processId, process -> {
            List<Node> nodes = ((WorkflowProcess) ((AbstractProcess<?>) process).process()).getNodesRecursively();
            List<Map<String, Object>> list = nodes.stream().map(n -> {
                Map<String, Object> data = new HashMap<>();
                data.put("id", n.getId());
                data.put("uniqueId", ((org.jbpm.workflow.core.Node) n).getUniqueId());
                data.put("nodeDefinitionId", n.getMetaData().get(UNIQUE_ID));
                data.put("type", n.getClass().getSimpleName());
                data.put("name", n.getName());
                return data;
            }).collect(Collectors.toList());
            return buildOkResponse(list);
        });
    }

    public  BaseProcessInstanceManagementResource(Processes processes, Application application);

}