public IRace Create(IDistanceCalculator distanceCalculator, IEnumerable<Waypoint> waypoints) { distanceCalculator.AssertNotNull(); waypoints = waypoints as List<Waypoint> ?? waypoints.ToList(); waypoints.AssertNotEmpty(); waypoints.AssertNotNull(); var Race = new RaceService(distanceCalculator, waypoints); return Race; }