public VideoService(
     IVideoRepository repo,
     IVideoCache cache,
     ILogger <VideoService> log)
     : base(log)
 {
     _repo  = repo ?? throw new ArgumentNullException(nameof(repo));
     _cache = cache ?? throw new ArgumentNullException(nameof(cache));
 }
 public VideoCacheProcessingService(
     IVideoRepository repo,
     IVideoCache cache,
     IDelayCalculator delayCalculator,
     ILogger <VideoCacheProcessingService> logger)
 {
     _repo   = repo ?? throw new ArgumentNullException(nameof(repo));
     _cache  = cache ?? throw new ArgumentNullException(nameof(cache));
     _delay  = delayCalculator ?? throw new ArgumentNullException(nameof(delayCalculator));
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));;
 }