private TrackLayout?Track(Contrib.Data.Shared sharedData) { if (sharedData.LayoutLength < 0) { return(null); } var layoutLength = IDistance.FromM(sharedData.LayoutLength); var sectors = ValuesPerSector(sharedData.SectorStartFactors, i => DistanceFraction.FromTotal(layoutLength, i)); return(new TrackLayout( SectorsEnd: sectors )); }