public InterruptibleRepeater(
            TimeSpan? pollInterval,
            IThreadPauser threadPauser,
            IExceptionHandler exceptionHandler)
        {
        
            if (threadPauser == null)
                throw new ArgumentNullException("threadPauser");

            _pollInterval = pollInterval;
            _threadPauser = threadPauser;
            _exceptionHandler = exceptionHandler;
            
        }
        public StreamForwarderBuilder SetThreadPauser(IThreadPauser value)
        {
            if (value == null)
                throw new ArgumentNullException("value");

            _threadPauser = value;

            return this;
        }