public LinkedList<IDevice> GetAllDevices() { spinLock.Enter(); var list = new LinkedList<IDevice>(); foreach (var device in devices) list.AddLast(device); spinLock.Exit(); return list; }