I don't know if this is the most efficient way, but if you make sure that your different list have different path structures i.e List A ={A;B}(i) and List B = {A;B;C}(i) then you could merge the two lists and then select the branches after weaving the Paths. Have a look at the image below for a better explanation.