public IEnumerable<LapTimeEntry> GetEntries() {
Prepare();
return _wrapper.GetData().Select(bits => {
string carId, trackId, date, time;
return bits.TryGetValue("car", out carId) && bits.TryGetValue("track", out trackId) &&
bits.TryGetValue("date", out date) && bits.TryGetValue("time", out time)
? new LapTimeEntry(
SourceId, carId, trackId,
new DateTime(1970, 1, 1) + TimeSpan.FromMilliseconds(double.Parse(date, CultureInfo.InvariantCulture)),
TimeSpan.FromMilliseconds(double.Parse(time, CultureInfo.InvariantCulture)))
: null;
}).Where(x => x != null);
}