docs: public int addTimer(int delay, int times, IZLoopHandler handler, Object arg)
      {
          STimer timer = new STimer(delay, times, handler, arg);
  
          //  We cannot touch self->timers because we may be executing that
          //  from inside the poll loop. So, we hold the new timer on the newTimers
          //  list, and process that list when we're done executing timers.
          newTimers.add(timer);
          if (verbose) {
              System.out.printf("I: zloop: register timer delay=%d times=%d\n", delay, times);
          }
  
          return 0;
      }