final Set<ValueSpecification> privateValues = new HashSet<ValueSpecification>();
final Set<ValueSpecification> sharedValues = new HashSet<ValueSpecification>(graph.getTerminalOutputSpecifications());
for (final DependencyNode node : order) {
final Set<ValueSpecification> inputs = node.getInputValues();
final ExecutionLogMode logMode = logModeSource.getLogMode(node);
final CalculationJobItem jobItem = new CalculationJobItem(node.getFunction().getFunction().getFunctionDefinition().getUniqueId(), node.getFunction().getParameters(),
node.getComputationTarget(), inputs, node.getOutputValues(), logMode);
items.add(jobItem);
// If node has dependencies which AREN'T in the graph, its outputs for those nodes are "shared" values
for (final ValueSpecification specification : node.getOutputValues()) {
if (sharedValues.contains(specification)) {