public Buyer Provide(IReadOnlyAssortment assortment, string name)
        {
            if (assortment == null)
            {
                throw new ArgumentNullException(nameof(assortment));
            }

            var result = new Buyer(name);

            var random = new Random();

            var shoppingListLength = random.Next(0, 31);
            var startSpecIndex     = random.Next(0, assortment.ProductSpecifications.Count - shoppingListLength);

            foreach (var spec in assortment.ProductSpecifications.Skip(startSpecIndex))
            {
                result.AddShoppingListPosition(spec, random.Next(1, 11));
            }

            return(result);
        }