public override int GetHighestKnownIndex(CollectionQuery query) { IEnumerable<object> results = Items; if (query.Filter != null) { results = results.Where(item => MatchesFilter(item, query.Filter)); } return results.Count() - 1; }