docs: private void findJadeDAODefinitions(ConfigurableListableBeanFactory beanFactory,
              List<String> urls) {
          JadeComponentProvider provider = new JadeComponentProvider();
          Set<String> daoClassNames = new HashSet<String>();
  
          for (String url : urls) {
              if (logger.isInfoEnabled()) {
                  logger.info("[jade] call 'jade/find'");
              }
  
              Set<BeanDefinition> dfs = provider.findCandidateComponents(url);
              if (logger.isInfoEnabled()) {
                  logger.info("[jade] found " + dfs.size() + " beanDefinition from '" + url + "'");
              }
  
              for (BeanDefinition beanDefinition : dfs) {
                  String daoClassName = beanDefinition.getBeanClassName();
                  if (getDisableFlag(daoClassName)) {
                      if (logger.isDebugEnabled()) {
                          logger.debug("[jade] ignored disabled jade dao class: " + daoClassName
                                  + "  [" + url + "]");
                      }
                      continue;
                  }
                  if (daoClassNames.contains(daoClassName)) {
                      if (logger.isDebugEnabled()) {
                          logger.debug("[jade] ignored replicated jade dao class: " + daoClassName
                                  + "  [" + url + "]");
                      }
                      continue;
                  }
                  daoClassNames.add(daoClassName);
  
                  registerDAODefinition(beanFactory, beanDefinition);
              }
          }
      }