Set<ValueSpecification> valueSpecifications = new HashSet<ValueSpecification>();
for (final String name : outputsByName.keySet()) {
StreamI<FunctionOutput> functionOutputs = outputsByName.get(name);
for (FunctionOutput functionOutput : functionOutputs) {
TargetSpecificationReference tsr = functionOutput.getTargetSpecificationReference();
ComputationTargetSpecification cts = functionOutput.getComputationTargetSpecification();
final RecordingValueProperties rvps = functionOutput.getRecordingValueProperties();
ValueProperties vps = functionOutput.getValueProperties();
if (tsr == null && cts == null) {
throw new IllegalArgumentException("Target specification must be provided by function DSL, but there wasn't any for input: " + name);