private static void ShuffleAndQueueTracks(BufferItem item, BufferList playQueue, BufferList tracklist) { var algorithm = new FisherYatesShuffle(new RandomWrapper()); var shuffled = tracklist.Shuffle(algorithm).ToList(); foreach (var shuffledItem in shuffled.Where(i => i != item)) { playQueue.Add(shuffledItem); } }