private static List <Participant> GetOrderedParticipants(IEnumerable <Participant> eventParticipants, GameSave save) { var participantsDict = eventParticipants.Select(item => item) .ToDictionary(item => item.id, item => item); var orderedParticipants = EventProcessor.GetCompetitors(save.calendar, save.resultsContainer) .Select(it => participantsDict[it]).ToList(); return(orderedParticipants); }