/// <summary>
        ///     Creates a new CacheTransactionEventNotificationManager.
        /// </summary>
        /// <param name="eventNotification">The event notification.</param>
        /// <param name="timeOutIntervalSeconds">
        ///     Any transactions that take longer that
        ///     this will have their event notifiers removed.
        /// </param>
        internal TransactionEventNotificationManager(ITransactionEventNotification eventNotification, int timeOutIntervalSeconds)
        {
            if (eventNotification == null)
            {
                throw new ArgumentNullException(nameof(eventNotification));
            }

            _eventNotification      = eventNotification;
            _timeOutIntervalSeconds = timeOutIntervalSeconds;
        }
 /// <summary>
 ///     Creates a new CacheTransactionEventNotificationManager.
 /// </summary>
 /// <param name="eventNotification">The event notification.</param>
 public TransactionEventNotificationManager(ITransactionEventNotification eventNotification)
     : this(eventNotification, DefaultTimeOutIntervalSeconds)
 {
 }