I think I found the problem. When you created the new ```reco::TrackExtra``` you copied the old one. That copy still contains the 'link' back to the hits from the original track. Then when you called ```add``` for the new hit ref the system rightly says that the new hit ref was not from the same collection as the original tracks list of hits. 

The way around this is to not create the new TrackExtra by using a copy and instead set the values one by one.