public static void ExecuteTask()
        {
            var breadRack1 = new Rack <Bread>();
            var breadRack2 = new Rack <Bread>();
            var breadRack3 = new Rack <Bread>();

            var milkRack1 = new Rack <Milk>();
            var milkRack2 = new Rack <Milk>();

            var pastaRack = new Rack <Pasta>();

            var porridgeRack = new Rack <Porridge>();

            breadRack1.AddProducts(GetProducts(30, () => new Bread("bread")));
            breadRack2.AddProducts(GetProducts(40, () => new Bread("bread")));
            breadRack3.AddProducts(GetProducts(40, () => new Bread("bread")));

            milkRack1.AddProducts(GetProducts(40, () => new Milk("milk")));
            milkRack2.AddProducts(GetProducts(45, () => new Milk("milk")));

            pastaRack.AddProducts(GetProducts(70, () => new Pasta("pasta")));

            porridgeRack.AddProducts(GetProducts(60, () => new Porridge("porridge")));

            Console.WriteLine($"Bread: {Rack<Bread>.Count}");
            Console.WriteLine($"Milk: {Rack<Milk>.Count}");
            Console.WriteLine($"Pasta: {Rack<Pasta>.Count}");
            Console.WriteLine($"Porridge: {Rack<Porridge>.Count}");
        }