No need for "duplicates"
Just "move first" and "join later".
You don't need a "duplicate elements" at all, that only makes things harder. (If you join a duplicate node to the original you got 3 points)
Attributes (probably not necessary)
And if you need you can store one attribute value to each group for using later (Although you can also do everything to the bottom branch before the join, no need for attributes).
In this attribute case you will probably need to use inside the simulation, though, because the attributes are changing inside the simulation)


