code: public static void parkNanos(long nanos) {
          try {
              Strand.parkNanos(nanos);
          } catch (SuspendExecution e) {
              throw RuntimeSuspendExecution.of(e);
          }
      }
docs: Disables the current strand for thread scheduling purposes, for up to
  the specified waiting time, unless the permit is available.
  <p>
  <p>
  If the permit is available then it is consumed and the call
  returns immediately; otherwise the current strand becomes disabled
  for scheduling purposes and lies dormant until one of four
  things happens:
  <p>
  <ul>
  <li>Some other strand invokes {@link #unpark unpark} with the
  current strand as the target; or
  <p>
  <li>Some other strand interrupts
  the current strand; or
  <p>
  <li>The specified waiting time elapses; or
  <p>
  <li>The call spuriously (that is, for no reason) returns.
  </ul>
  <p>
  <p>
  This method does <em>not</em> report which of these caused the
  method to return. Callers should re-check the conditions which caused
  the strand to park in the first place. Callers may also determine,
  for example, the interrupt status of the strand, or the elapsed time
  upon return.
  
  @param nanos the maximum number of nanoseconds to wait