public static void EnsureOnComplementIfContained <T>(this MyIterableComplementSet <T> self, T item) { if (self.Contains(item) && !self.IsInComplement(item)) { self.MoveToComplement(item); } }
public static void AddOrEnsureOnComplement <T>(this MyIterableComplementSet <T> self, T item) { if (!self.Contains(item)) { self.AddToComplement(item); } else if (!self.IsInComplement(item)) { self.MoveToComplement(item); } }