@Override
protected void processNodeOperation(Csar csar, Topology topology, SetNodeCapabilityPropertyAsOutputOperation operation, NodeTemplate nodeTemplate) {
check(operation, topology, nodeTemplate);
Map<String, Map<String, Set<String>>> outputs = emptyIfNull(topology.getOutputCapabilityProperties());
Map<String, Set<String>> capabilitiesOutputs = emptyIfNull(outputs.get(operation.getNodeName()));
outputs.put(operation.getNodeName(), capabilitiesOutputs);
Set<String> outputProperties = emptyIfNull(capabilitiesOutputs.get(operation.getCapabilityName()));
capabilitiesOutputs.put(operation.getCapabilityName(), outputProperties);
outputProperties.add(operation.getPropertyName());
topology.setOutputCapabilityProperties(outputs);
log.debug("Set node[ {} ] capability [ {} ]'s property [ {} ] as output for the topology [ {} ].", operation.getNodeName(), operation.getCapabilityName(),
operation.getPropertyName(), topology.getId());
}