code: public static PhasedBackoffWaitStrategy withLock(
          long spinTimeout,
          long yieldTimeout,
          TimeUnit units)
      {
          return new PhasedBackoffWaitStrategy(
              spinTimeout, yieldTimeout,
              units, new BlockingWaitStrategy());
      }
docs: 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.