internal AircraftConfigurationEngines CreateIncremental(AircraftConfigurationEngines cfg)
        {
            EnsurePopulated();
            cfg.EnsurePopulated();
            if (cfg.Equals(this))
            {
                return(null);
            }
            AircraftConfigurationEngines inc = new AircraftConfigurationEngines();

            if (HasEngine1Object && cfg.HasEngine1Object)
            {
                inc.Engine1 = Engine1.CreateIncremental(cfg.Engine1);
            }
            if (HasEngine2Object && cfg.HasEngine2Object)
            {
                inc.Engine2 = Engine2.CreateIncremental(cfg.Engine2);
            }
            if (HasEngine3Object && cfg.HasEngine3Object)
            {
                inc.Engine3 = Engine3.CreateIncremental(cfg.Engine3);
            }
            if (HasEngine4Object && cfg.HasEngine4Object)
            {
                inc.Engine4 = Engine4.CreateIncremental(cfg.Engine4);
            }
            return(inc);
        }
 internal void ApplyIncremental(AircraftConfigurationEngines inc)
 {
     if (inc.HasEngine1Object && HasEngine1Object)
     {
         Engine1.ApplyIncremental(inc.Engine1);
     }
     if (inc.HasEngine2Object && HasEngine2Object)
     {
         Engine2.ApplyIncremental(inc.Engine2);
     }
     if (inc.HasEngine3Object && HasEngine3Object)
     {
         Engine3.ApplyIncremental(inc.Engine3);
     }
     if (inc.HasEngine4Object && HasEngine4Object)
     {
         Engine4.ApplyIncremental(inc.Engine4);
     }
 }
 internal void EnsurePopulated()
 {
     if (HasEngine1Object)
     {
         Engine1.EnsurePopulated();
     }
     if (HasEngine2Object)
     {
         Engine2.EnsurePopulated();
     }
     if (HasEngine3Object)
     {
         Engine3.EnsurePopulated();
     }
     if (HasEngine4Object)
     {
         Engine4.EnsurePopulated();
     }
 }
        internal AircraftConfigurationEngines Clone()
        {
            AircraftConfigurationEngines clone = new AircraftConfigurationEngines();

            if (HasEngine1Object)
            {
                clone.Engine1 = Engine1.Clone();
            }
            if (HasEngine2Object)
            {
                clone.Engine2 = Engine2.Clone();
            }
            if (HasEngine3Object)
            {
                clone.Engine3 = Engine3.Clone();
            }
            if (HasEngine4Object)
            {
                clone.Engine4 = Engine4.Clone();
            }
            return(clone);
        }