public override int CountItem(Func<Item, bool> predicate) { return _items.Values.Where(predicate) .Aggregate(0, (current, item) => current + item.Info.Amount); }