/// <summary>
 /// Initializes a new instance of the <see cref="SafeWait{T}"/> class.
 /// </summary>
 /// <param name="input">The input value to pass to the evaluated conditions.</param>
 /// <param name="clock">The clock to use when measuring the timeout.</param>
 public SafeWait(T input, IClock clock)
 {
     _input = input.CheckNotNull(nameof(input));
     _clock = clock.CheckNotNull(nameof(clock));
 }