internal Parameter(string label, double Min, double Max, double Initial)
        {
            this.label   = label;
            distribution = new UniversalDistribution(Min, Max);


            runningvalue      = Initial;
            LastAcceptedValue = runningvalue;
        }
 internal Parameter(Parameter p)
 {
     this.label   = p.label;
     distribution = new UniversalDistribution(p.distribution.Min, p.distribution.Max);
 }