IPersistentCollection <T> IPersistentCollection <T> .Remove(T value) { var list = new List <T>(); var comp = EqualityComparer <T> .Default; bool found = false; foreach (var cur in this) { if (!found && comp.Equals(value, cur)) { found = true; } else { list.Add(cur); } } return(ImmutableCollection.Create(list)); }
internal NormalCollection(MiniCollection left, ImmutableCollection <MiniCollection> middle, MiniCollection right) { m_left = left; m_middle = middle; m_right = right; }