public CarFlyweight GetFlyweight(CarFlyweight car)
        {
            var key = GetKey(car);

            if (!FlyWeights.ContainsKey(key))
            {
                FlyWeights[key] = car;
            }

            return(FlyWeights[key]);
        }
        public string GetKey(CarFlyweight car)
        {
            var list = new { color = car.Color.ToArgb().ToString("x"), car.Company, car.Model };

            return(string.Join("_", list));
        }