public void GetData(IInventoryCollection dataCollection, IInventoryQuery query) { GetValueWithoutLocallyFiltering(dataCollection, query); if (query.Filters.Any()) { var filteredCollection = dataCollection.Filter(inventoryItem => query.Filters.Any(filter => filter.Match(inventoryItem))); dataCollection.CopyFrom(filteredCollection); } }