public RefreshableSecretReader(
     ISecretReader secretReader,
     ConcurrentDictionary <string, ISecret> cache,
     RefreshableSecretReaderSettings settings)
 {
     _secretReader = secretReader ?? throw new ArgumentNullException(nameof(secretReader));
     _cache        = cache ?? throw new ArgumentNullException(nameof(cache));
     _settings     = settings ?? throw new ArgumentNullException(nameof(settings));
 }
 public RefreshableSecretReaderFactory(ISecretReaderFactory underlyingFactory, RefreshableSecretReaderSettings settings)
 {
     _underlyingFactory = underlyingFactory ?? throw new ArgumentNullException(nameof(underlyingFactory));
     _cache             = new ConcurrentDictionary <string, ISecret>();
     _settings          = settings ?? throw new ArgumentNullException(nameof(settings));
 }