Whats the best way of doing it?
var set2 = new HashSet<reference_type>();
Traverse the set with a foreach like this.
foreach (var n in set)
set2.Add(n);
Or use something like union like this.
set2 = set.UnionWith(set); // all the elements