private void FilterTests(string searchInput) { if (string.IsNullOrWhiteSpace(searchInput)) { ObservableTests = new ObservableCollectionExtended <Test>(_allTests); } else { var smartSearch = new SmartSearch <Grade>(); var matchingIDs = smartSearch.Search(_allTests, searchInput); ObservableTests = new ObservableCollectionExtended <Test>( _allTests.Where(g => matchingIDs.Contains(g.ID))); } }