private List <Change> GetUniqueChanges(ChangeCollection changes) { return(changes .GroupBy(i => ((ChangeItem)i).ItemId, (key, g) => g.OrderByDescending(e => e.Time).First()).OrderByDescending(c => c.Time) .ToList()); }