public RandomItemFromListGenerator(int?seed, IEnumerable <T> list, Func <T, bool> predicate = null) { _list = predicate == null?list.ToArray() : list.Where(predicate).ToArray(); _randomValueGenerator = new RandomValueGenerator(seed ?? Environment.TickCount); }