public DownloadClient(string outputPath, Header course, int moduleId, string moduleTitle, Clip clip, HttpClient httpClientFactory, Func <bool, Task <string> > getAccessToken = null) : base(getAccessToken, httpClientFactory) { this.outputPath = outputPath ?? throw new ArgumentNullException(nameof(outputPath)); this.course = course ?? throw new ArgumentNullException(nameof(course)); ModuleId = moduleId; ModuleTitle = moduleTitle ?? throw new ArgumentNullException(nameof(moduleTitle)); Clip = clip ?? throw new ArgumentNullException(nameof(clip)); }