/// <summary>
        /// DNTCaptcha TagHelper
        /// </summary>
        public DNTCaptchaTagHelper(
            ICaptchaProtectionProvider captchaProtectionProvider,
            IRandomNumberProvider randomNumberProvider,
            IHumanReadableIntegerProvider humanReadableIntegerProvider,
            ICaptchaStorageProvider captchaStorageProvider)
        {
            captchaProtectionProvider.CheckArgumentNull(nameof(captchaProtectionProvider));
            randomNumberProvider.CheckArgumentNull(nameof(randomNumberProvider));
            humanReadableIntegerProvider.CheckArgumentNull(nameof(humanReadableIntegerProvider));
            captchaStorageProvider.CheckArgumentNull(nameof(captchaStorageProvider));

            _captchaProtectionProvider    = captchaProtectionProvider;
            _randomNumberProvider         = randomNumberProvider;
            _humanReadableIntegerProvider = humanReadableIntegerProvider;
            _captchaStorageProvider       = captchaStorageProvider;
        }
        /// <summary>
        ///
        /// </summary>
        public DNTCaptchaValidatorService(
            ILogger <DNTCaptchaValidatorService> logger,
            ICaptchaProtectionProvider captchaProtectionProvider,
            ICaptchaStorageProvider captchaStorageProvider,
            IHumanReadableIntegerProvider humanReadableIntegerProvider
            )
        {
            logger.CheckArgumentNull(nameof(logger));
            _logger = logger;

            captchaProtectionProvider.CheckArgumentNull(nameof(captchaProtectionProvider));
            _captchaProtectionProvider = captchaProtectionProvider;

            captchaStorageProvider.CheckArgumentNull(nameof(captchaStorageProvider));
            _captchaStorageProvider = captchaStorageProvider;

            humanReadableIntegerProvider.CheckArgumentNull(nameof(humanReadableIntegerProvider));
            _humanReadableIntegerProvider = humanReadableIntegerProvider;
        }