public async Task TenK_WithPooledTimer()
        {
            TimerPool   timerPool = new TimerPool(1);
            List <Task> timers    = new List <Task>(this.timeouts.Count);

            for (int i = 0; i < this.timeouts.Count; i++)
            {
                PooledTimer timer = timerPool.GetPooledTimer(this.timeouts[i] / 1000);
                timers.Add(timer.StartTimerAsync());
            }

            await Task.WhenAll(timers);

            timerPool.Dispose();
        }