code: @SuppressWarnings("unchecked")
      private List<Class<? extends FeatureInstaller>> findInstallers() {
          if (scanner != null) {
              final List<Class<? extends FeatureInstaller>> installers = Lists.newArrayList();
              scanner.scan(new ClassVisitor() {
                  @Override
                  public void visit(final Class<?> type) {
                      if (FeatureUtils.is(type, FeatureInstaller.class)) {
                          installers.add((Class<? extends FeatureInstaller>) type);
                      }
                  }
              });
              // sort to unify registration order on different systems
              installers.sort(Comparator.comparing(Class::getName));
              context.registerInstallersFromScan(installers);
          }
          final List<Class<? extends FeatureInstaller>> installers = context.getEnabledInstallers();
          installers.sort(COMPARATOR);
          logger.debug("Found {} installers", installers.size());
          return installers;
      }
docs: Performs classpath scan to find all classes implementing or use only manually configured installers.
  {@link FeatureInstaller}.
  
  @return list of found installers or empty list