diff --git a/src/Libraries/RevitServices/Persistence/ElementIDLifecycleManager.cs b/src/Libraries/RevitServices/Persistence/ElementIDLifecycleManager.cs index 8da651b0f..74113d21d 100644 --- a/src/Libraries/RevitServices/Persistence/ElementIDLifecycleManager.cs +++ b/src/Libraries/RevitServices/Persistence/ElementIDLifecycleManager.cs @@ -65,20 +65,21 @@ public void RegisterAsssociation(T elementID, Object wrapper) { List existingWrappers; - if (wrappers.TryGetValue(elementID, out existingWrappers)) + if (!wrappers.TryGetValue(elementID, out existingWrappers)) + { + existingWrappers = new List(); + wrappers.Add(elementID, existingWrappers); + } +#if DEBUG + else { //ID already existed, check we're not over adding - Validity.Assert(!existingWrappers.Contains(wrapper), + Validity.Assert(!existingWrappers.Contains(wrapper), "Lifecycle manager alert: registering the same Revit Element Wrapper twice" + " {6528305F}"); //return; } - else - { - existingWrappers = new List(); - wrappers.Add(elementID, existingWrappers); - } - +#endif existingWrappers.Add(wrapper); if (!revitDeleted.ContainsKey(elementID)) {