/// <summary>
 /// Initializes a new instance of the <see cref="WarmupEngine" /> class.
 /// </summary>
 /// <param name="warmupSettings">The warmup settings.</param>
 /// <param name="client">The StrongGrid client.</param>
 /// <param name="warmupProgressRepository">The repository where progress information is stored.</param>
 /// <param name="systemClock">The system clock. This is for unit testing only.</param>
 internal WarmupEngine(WarmupSettings warmupSettings, IClient client, IWarmupProgressRepository warmupProgressRepository, ISystemClock systemClock)
 {
     _warmupSettings           = warmupSettings ?? throw new ArgumentNullException(nameof(warmupSettings));
     _client                   = client ?? throw new ArgumentNullException(nameof(client));
     _warmupProgressRepository = warmupProgressRepository ?? new FileSystemWarmupProgressRepository();
     _systemClock              = systemClock ?? SystemClock.Instance;
 }
 public WarmupEngine(WarmupSettings warmupSettings, IClient client, IWarmupProgressRepository warmupProgressRepository = null)
     : this(warmupSettings, client, warmupProgressRepository, null)
 {
 }