public HtmlActionResult <SearchModel> Search([FromUri] SearchQuery search) { IStateQuery syslogState = base.GetSyslogState(); TagMessagesCollection msgCollection = syslogState.GetTagMessages(search.Host, search.Tag); //msgCollection.Messages.Sort((x, y) => y.Timestamp.CompareTo(x.Timestamp)); //TODO: This is stable sort but not in-place => possible memory pressure msgCollection.Messages = msgCollection.Messages.OrderByDescending(x => x.Timestamp).ToList(); SearchModel searchModel = FilterUtility.ApplyFilters(search, msgCollection); return(new HtmlActionResult <SearchModel>(Path.Combine(base.GetViewDirectory(), "Search.cshtml"), searchModel)); }