/// <summary>
 /// Initializes a new instance of the <see cref="DefaultCache{T}"/> class.
 /// </summary>
 /// <param name="identityServerOptions"></param>
 /// <param name="cache">The cache.</param>
 /// <param name="concurrencyLock"></param>
 /// <param name="logger">The logger.</param>
 public DefaultCache(IdentityServerOptions identityServerOptions, IMemoryCache cache, IConcurrencyLock <DefaultCache <T> > concurrencyLock, ILogger <DefaultCache <T> > logger)
 {
     IdentityServerOptions = identityServerOptions;
     Cache           = cache;
     ConcurrencyLock = concurrencyLock;
     Logger          = logger;
 }
    /// <summary>
    /// Constructor for KeyManager
    /// </summary>
    /// <param name="options"></param>
    /// <param name="store"></param>
    /// <param name="cache"></param>
    /// <param name="protector"></param>
    /// <param name="clock"></param>
    /// <param name="newKeyLock"></param>
    /// <param name="logger"></param>
    /// <param name="issuerNameService"></param>
    public KeyManager(
        IdentityServerOptions options,
        ISigningKeyStore store,
        ISigningKeyStoreCache cache,
        ISigningKeyProtector protector,
        ISystemClock clock,
        IConcurrencyLock <KeyManager> newKeyLock,
        ILogger <KeyManager> logger,
        IIssuerNameService issuerNameService)
    {
        options.KeyManagement.Validate();

        _options           = options;
        _store             = store;
        _cache             = cache;
        _protector         = protector;
        _clock             = clock;
        _newKeyLock        = newKeyLock;
        _logger            = logger;
        _issuerNameService = issuerNameService;
    }