//TODO: FIX /*using System; using System.Collections.Generic; using System.Collections; using System.Threading; namespace System.Collections.Concurrent { public class ConcurrentList : IEnumerable { private readonly HashSet items = new HashSet(); private readonly object padlock = new object(); public bool Contains(T item) { lock (padlock) { return items.Contains(item); } } public bool Add(T item) { lock (padlock) { return items.Add(item); } } public bool Remove(T item) { lock (padlock) { if (items.Remove(item)) { Monitor.PulseAll(padlock); return true; } else return false; } } public IEnumerator GetEnumerator() { return items.GetEnumerator(); } } } */