public override bool Equals(object obj)
        {
            double t = 0.00000001;

            if (!(obj is ProcessData))
            {
                return(false);
            }
            var tmp = (ProcessData)obj;

            return(GenerationIndex == tmp.GenerationIndex &&
                   Math.Abs(BestScore - tmp.BestScore) < t &&
                   Math.Abs(MedianScore - tmp.MedianScore) < t &&
                   Math.Abs(AverageScore - tmp.AverageScore) < t &&
                   Math.Abs(WorstScore - tmp.WorstScore) < t &&
                   Timestamp == tmp.Timestamp &&
                   BestSpecimen.Equals(tmp.BestSpecimen));
        }