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);
        }