code: public static void park(Object blocker) {
          try {
              Strand.park(blocker);
          } catch (SuspendExecution e) {
              throw RuntimeSuspendExecution.of(e);
          }
      }
docs: Disables the current strand for scheduling purposes 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 three 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 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 upon return.
  
  @param blocker the synchronization object responsible for this strand parking