code: public static boolean allowClass(Settings settings, Class<?> aClass) {
          // Settings-based class exclusions/inclusions
          if (aClass.isAnnotationPresent(RequireSettings.class)) {
              // multiple keys required
              RequireSetting[] requireSettings = aClass.getAnnotation(RequireSettings.class).value();
              StringJoiner joiner = new StringJoiner(", ");
              Arrays.asList(requireSettings).forEach((require) -> {
                  if (!settings.hasSetting(require.value())) {
                      joiner.add(require.value());
                  }
              });
              String requiredSettings = joiner.toString();
              if (!requiredSettings.isEmpty()) {
                  log.warn("skipping {}, it requires the following {} mode settings: {}",
                          aClass.getName(), settings.getMode(), requiredSettings);
  
                  return false;
              }
  
          }
docs: Determines if this class may be used in the current runtime environment.
  Fathom settings are considered as well as runtime modes.
  
  @param settings
  @param aClass
  @return true if the class may be used