Hi Satra,
Yes, as most of the times it is desiderable to have two identity interfaces as input/outputnodes, I've created an "InterfacedWorkflow" that sets them up by default. Some additional improvements include that inputs can be referred to without the leading 'inputnode.' like 'inputnode.fieldname'. This makes workflows more readable. Other features include automatic connection of inputs and outputs when both interfaces are the same (field by field connection is still allowed).
Then, I have a "GraftWorkflow" derived from InterfacedWorkflow, which adds a method "insert" to allow inserting InterfacedWorkflows meeting the in/out interface. For this, identity nodes named outXX are created for each inserted workflow.
My idea is to build something like the JoinNode, but in this case I have to look at all the output nodes (outXX) that point to the input of the final outputnode. I recall that here I want to join a set of IdentityInterfaces and for each field of the interface generate a list with the fields of the outputs.
I've been looking at JoinNode, but this situation of having several source-nodes I don't know how to deal with it.
Before flattening the graph, I can see that the outputnode has several predecessors.
Thanks!