docs: private void setNextWakeup(long wakeup)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "setNextWakeup", new Object[] { Long.valueOf(wakeup) });
  
      //synchronize on the target time
      synchronized(wakeupLock)
      {
        //set the target time
        nextWakeup = wakeup;
        //calculate the time until the target time
        wakeupDelta = nextWakeup - System.currentTimeMillis();
  
        //if the target time is SUSPEND then set running to false, otherwise true
        running = nextWakeup != SUSPEND;
        //wake up the alarm thread so that the new wake up time can be picked up
        if(running) wakeupLock.notify();
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "setNextWakeup", new Object[]{Boolean.valueOf(running),Long.valueOf(wakeupDelta)});
    }