If a shared child already exists in the root object collection it will not be added again. How about shared children with pivot table data? Maybe save the pivot table data somewhere? Or should the pivot table data be whats left in the original collection?