code: @Override
      public void run() {
          while (!Thread.currentThread().isInterrupted()) {
              try {
                  jobCounter.addAndGet(service.executeScheduledAlerts(50, timeout).size());
                  LOGGER.info("alerts evaluated so far: {}", jobCounter.get()); 
                  Thread.sleep(POLL_INTERVAL_MS);
              } catch (InterruptedException ex) {
                  LOGGER.info("Execution was interrupted.");
                  Thread.currentThread().interrupt();
                  break;
              } catch (Throwable ex) {
                  LOGGER.error("Exception in alerter: {}", ExceptionUtils.getFullStackTrace(ex));
              }
          }
          LOGGER.warn(MessageFormat.format("Alerter thread interrupted. {} alerts evaluated by this thread.", jobCounter.get()));
          service.dispose();
      }
docs: ~ Methods **************************************************************************************************************************************