public static PhasedBackoffWaitStrategy withLock(
        long spinTimeout,
        long yieldTimeout,
        TimeUnit units)
    {
        return new PhasedBackoffWaitStrategy(
            spinTimeout, yieldTimeout,
            units, new BlockingWaitStrategy());
    }
public static PhasedBackoffWaitStrategy withLock ( long spinTimeout , long yieldTimeout , TimeUnit units ) { return new PhasedBackoffWaitStrategy ( spinTimeout , yieldTimeout , units , new BlockingWaitStrategy ( ) ) ; }
Construct {@link PhasedBackoffWaitStrategy} with fallback to {@link BlockingWaitStrategy}

@param spinTimeout The maximum time in to busy spin for.
@param yieldTimeout The maximum time in to yield for.
@param units Time units used for the timeout values.
@return The constructed wait strategy.