for (String field : read.getOutputFields()) {
List<String> origins = unusedOutputs.computeIfAbsent(field, k -> new ArrayList<>());
origins.add(pipelineOperation.getName());
validateInputs(pipelineOperation.getName(), transform.getInputFields(), validInputsSoFar);
updateInvalidOutputs(transform.getInputFields(), unusedOutputs, redundantOutputs);
validInputsSoFar.addAll(transform.getOutputFields());
for (String field : transform.getOutputFields()) {
List<String> origins = unusedOutputs.computeIfAbsent(field, k -> new ArrayList<>());
origins.add(pipelineOperation.getName());
validateInputs(pipelineOperation.getName(), write.getInputFields(), validInputsSoFar);
updateInvalidOutputs(write.getInputFields(), unusedOutputs, redundantOutputs);
break;