docs: public void insertWorkItem(TimerWorkItem work, long curTime) {
          // find the time slot, or create a new one
          long insertTime = work.timeoutTime;
          TimeSlot nextSlot = this.firstSlot;
  
          while (nextSlot != null) {
              if ((insertTime == nextSlot.timeoutTime) && (nextSlot.lastEntryIndex != TimeSlot.TIMESLOT_LAST_ENTRY)) {
                  nextSlot.addEntry(work, curTime);
                  break;
              } else if (insertTime < nextSlot.timeoutTime) {
                  nextSlot = insertSlot(insertTime, nextSlot);
                  nextSlot.addEntry(work, curTime);
                  break;
              } else {
                  nextSlot = nextSlot.nextEntry;
              }
          }
  
          if (nextSlot == null) {
              nextSlot = insertSlotAtEnd(insertTime);
              nextSlot.addEntry(work, curTime);
          }
      }