code: public static int getInterval(ArrayList<MonitorJob> monitors) {
      String tmp = getProperty("executor.interval.min");
      if (tmp != null)
        MIN_INTERVAL = Integer.parseInt(tmp);
  
      int[] monIntervals = new int[monitors.size()];
  
      for (int i = 0; i < monitors.size(); i++)
        monIntervals[i] = monitors.get(i).interval;
  
      return Math.max(MIN_INTERVAL, gcd(monIntervals));
    }
docs: Determines the minimum interval at which the executor thread
  needs to wake upto execute jobs. Essentially, this is interval
  equals the GCD of intervals of all scheduled jobs.
  
  @param monitors the list of scheduled jobs
  
  @return the minimum interval between two scheduled jobs