internal void UnmergeExternalData(string thisAddinId, Hashtable addinsToUnmerge) { NodeSet.UnmergeExternalData(thisAddinId, addinsToUnmerge); var todel = new List <ConditionTypeDescription> (); foreach (ConditionTypeDescription cond in Conditions) { if (cond.AddinId != thisAddinId && (addinsToUnmerge == null || addinsToUnmerge.Contains(cond.AddinId))) { todel.Add(cond); } } foreach (ConditionTypeDescription cond in todel) { Conditions.Remove(cond); } if (addinsToUnmerge == null) { Addins.Clear(); } else { foreach (string s in addinsToUnmerge.Keys) { Addins.Remove(s); } } if (thisAddinId != null && !Addins.Contains(thisAddinId)) { Addins.Add(thisAddinId); } }