public boolean isTimeForNextRun(long nowNs) {
    while(true) {//CAS-loop:
      long lastExecuted = lastExecutedAtNs.get();
      if (nowNs - thresholdNs <= lastExecuted) {
        return false;
      }
      if(lastExecutedAtNs.compareAndSet(lastExecuted, nowNs)) {
        return true;
      }
    }
  }
public boolean isTimeForNextRun(long nowNs)