/// <summary>
        /// Initializes a new instance of the <see cref="ShadePropertiesAbridged" /> class.
        /// </summary>
        /// <param name="energy">energy.</param>
        /// <param name="radiance">radiance.</param>
        public ShadePropertiesAbridged
        (
            // Required parameters
            ShadeEnergyPropertiesAbridged energy = default, ShadeRadiancePropertiesAbridged radiance = default // Optional parameters
        ) : base()                                                                                             // BaseClass
        {
            this.Energy   = energy;
            this.Radiance = radiance;

            // Set non-required readonly properties with defaultValue
            this.Type = "ShadePropertiesAbridged";
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ShadePropertiesAbridged" /> class.
        /// </summary>
        /// <param name="energy">energy.</param>
        /// <param name="radiance">radiance.</param>
        public ShadePropertiesAbridged
        (
            // Required parameters
            ShadeEnergyPropertiesAbridged energy = default, ShadeRadiancePropertiesAbridged radiance = default // Optional parameters
        ) : base()                                                                                             // BaseClass
        {
            this.Energy   = energy;
            this.Radiance = radiance;

            // Set non-required readonly properties with defaultValue
            this.Type = "ShadePropertiesAbridged";

            // check if object is valid, only check for inherited class
            if (this.GetType() == typeof(ShadePropertiesAbridged))
            {
                this.IsValid(throwException: true);
            }
        }