code: void init(Set<String> queues, 
              CapacitySchedulerConf capacityConf) {
      for (String queue : queues) {
        int userlimit = capacityConf.getMinimumUserLimitPercent(queue);
        int maxUsersToInitialize = ((100 / userlimit) + MAX_ADDITIONAL_USERS_TO_INIT);
        int maxJobsPerUserToInitialize = capacityConf
            .getMaxJobsPerUserToInitialize(queue);
        QueueInfo qi = new QueueInfo(queue, maxUsersToInitialize,
            maxJobsPerUserToInitialize);
        jobQueues.put(queue, qi);
      }
      sleepInterval = capacityConf.getSleepInterval();
      poolSize = capacityConf.getMaxWorkerThreads();
      if (poolSize > queues.size()) {
        poolSize = queues.size();
      }
      assignThreadsToQueues();
      Collection<JobInitializationThread> threads = threadsToQueueMap.values();
      for (JobInitializationThread t : threads) {
        if (!t.isAlive()) {
          t.setDaemon(true);
          t.start();
        }
      }
    }
docs: /*
  method to read all configuration values required by the initialisation
  poller