/// <summary>
        /// Get the collection of values to be used as arguments
        /// </summary>
        public new IEnumerable GetData(ParameterInfo parameter)
        {
            Randomizer r = Randomizer.GetRandomizer(parameter);
            IList      values;

            switch (sampleType)
            {
            default:
            case SampleType.Raw:
                if (parameter.ParameterType.IsEnum)
                {
                    values = r.GetEnums(count, parameter.ParameterType);
                }
                else
                {
                    values = r.GetDoubles(count);
                }
                break;

            case SampleType.IntRange:
                values = r.GetInts(min, max, count);
                break;

            case SampleType.DoubleRange:
                values = r.GetDoubles(dmin, dmax, count);
                break;
            }

            // Copy the random values into the data array
            // and call the base class which may need to
            // convert them to another type.
            this.data = new object[values.Count];
            for (int i = 0; i < values.Count; i++)
            {
                this.data[i] = values[i];
            }

            return(base.GetData(parameter));
        }