/// <summary> /// Filters referencing structures /// </summary> /// <param name="refereningStructures"> /// The collection of referencing structures. /// </param> /// <param name="alreadyReversionedMaintainables"> /// The set of already reversioned maintainables. /// </param> private void FilterReferencingStructures( ICollection<IMaintainableObject> refereningStructures, ISet<IMaintainableObject> alreadyReversionedMaintainables) { ISet<IMaintainableObject> removeSet = new HashSet<IMaintainableObject>(); foreach (IMaintainableObject currentReference in refereningStructures) { foreach (IMaintainableObject alreadyReversionedReference in alreadyReversionedMaintainables) { if (currentReference.StructureType == alreadyReversionedReference.StructureType) { if (currentReference.AgencyId.Equals(alreadyReversionedReference.AgencyId)) { if (currentReference.Id.Equals(alreadyReversionedReference.Id)) { removeSet.Add(currentReference); } } } } } refereningStructures.RemoveItemList(removeSet); }