Workflow can have three types of the nodes:
1. ACTION node which executes the program or custom action. In this case the name of the node will be same as the name of the program or custom action that it executes.
2. CONDITION node which executes the predicate supplied. In this case the name of the node will be same as the name of the predicate class.
3. FORK node which does not do any processing. The name of the FORK node will be unique identifier.
Since we have provided the ability to fetch the values that were added by particular node, we need all nodes in the Workflow to have unique names.
This means in 3.1, multiple CONDITION nodes will not be able to use the same predicate class.
App deployment should fail if the node names in the Workflow are not unique.