docs: protected LaJobScheduler findAppScheduler() {
          final List<LaJobScheduler> schedulerList = new ArrayList<LaJobScheduler>(); // to check not found
          final List<String> derivedNameList = new ArrayList<String>(); // for exception message
          final NamingConvention convention = getNamingConvention();
          for (String root : convention.getRootPackageNames()) {
              final String schedulerName = buildSchedulerName(root);
              derivedNameList.add(schedulerName);
              final Class<?> schedulerType;
              try {
                  schedulerType = forSchedulerName(schedulerName);
              } catch (ClassNotFoundException ignored) {
                  continue;
              }
              final LaJobScheduler scheduler = createScheduler(schedulerType);
              schedulerList.add(scheduler);
          }
          if (schedulerList.isEmpty()) {
              throwJobSchedulerNotFoundException(derivedNameList);
          } else if (schedulerList.size() >= 2) {
              throw new IllegalStateException("Duplicate scheduler object: " + schedulerList);
          }
          return schedulerList.get(0);
      }