code: public static WaitStrategy phasedOff(long spinTimeout, long yieldTimeout, TimeUnit units, WaitStrategy delegate) {
          return new PhasedOff(spinTimeout, yieldTimeout, units, delegate);
      }
docs: <p>Phased wait strategy for waiting consumers on a barrier.</p>
  <p>
  <p>This strategy can be used when throughput and low-latency are not as important as CPU resource. Spins, then
  yields, then waits using the configured fallback WaitStrategy.</p>
  
  @param spinTimeout the spin timeout
  @param yieldTimeout the yield timeout
  @param units the time unit
  @param delegate the target wait strategy to fallback on
  @return the wait strategy