void IList.Clear() { if (_innerSet.Any()) { ((IList)_innerSet).Clear(); } if (_extendedSet.Any()) { ((IList)_extendedSet).Clear(); } }
public void Add(TOuter item) { if (item == null) { return; } if (_extendedSet.Any()) { _extendedSet.Add(item); return; } var inner = _transformIn(item); if (inner == null) { _extendedSet.Add(item); } else { _innerSet.Add(inner); } }