private void CalculateDriverStatsPits()
        {
            var x = this.DriverStats;

            x.FastestPit = new DriverStatRecord <double>(double.MaxValue);
            x.SlowestPit = new DriverStatRecord <double>(double.MinValue);

            foreach (var fItem in r.Standings)
            {
                Standings.RaceStanding rs = fItem as Standings.RaceStanding;
                if (rs.PitInfo.BestPitTime.HasValue)
                {
                    double pitTime = rs.PitInfo.BestPitTime.Value;
                    if (x.FastestPit.CompareTo(pitTime) > 0)
                    {
                        x.FastestPit = new DriverStatRecord <double>(fItem.Driver, pitTime);
                    }
                }
                if (rs.PitInfo.WorstPitTime.HasValue)
                {
                    double pitTime = rs.PitInfo.WorstPitTime.Value;
                    if (x.SlowestPit.CompareTo(pitTime) < 0)
                    {
                        x.SlowestPit = new DriverStatRecord <double>(fItem.Driver, pitTime);
                    }
                }
            } // foreach (var fItem in r.Standings)
        }
        private void CalculateDriverStatsPerRace()
        {
            var x = this.DriverStats;

            x.BiggestGainPerRace  = new DriverStatRecord <int>(int.MinValue);
            x.BiggestLoosePerRace = new DriverStatRecord <int>(int.MaxValue);

            foreach (var fItem in r.Standings)
            {
                Standings.RaceStanding rs = fItem as Standings.RaceStanding;
                if (rs.Position.HasValue && rs.StartingPosition.HasValue)
                {
                    int diff = rs.Position.Value - rs.StartingPosition.Value;
                    if (x.BiggestGainPerRace.CompareTo(diff) < 0)
                    {
                        x.BiggestGainPerRace = new DriverStatRecord <int>(fItem.Driver, diff);
                    }
                    if (x.BiggestLoosePerRace.CompareTo(diff) > 0)
                    {
                        x.BiggestLoosePerRace = new DriverStatRecord <int>(fItem.Driver, diff);
                    }
                }
            }
        }