code: private Set<Class<?>> collectModules(SpecInfo spec) {
      Set<Class<?>> modules = null;
  
      for (SpecInfo curr : spec.getSpecsTopToBottom()) {
        if (importModuleAnnotation != null && spec.isAnnotationPresent(importModuleAnnotation)){
          org.apache.tapestry5.ioc.annotations.ImportModule importModule = curr
              .getAnnotation(org.apache.tapestry5.ioc.annotations.ImportModule.class);
          if (importModule != null) {
            if (modules == null) {
              modules = new HashSet<>();
            }
            modules.addAll(Arrays.<Class<?>> asList(importModule.value()));
          }
        }
        if (submoduleAnnotation != null && spec.isAnnotationPresent(submoduleAnnotation)){
          @SuppressWarnings("deprecation")
          SubModule subModule = curr.getAnnotation(SubModule.class);
          if (subModule != null) {
            if (modules == null) {
              modules = new HashSet<>();
            }
            modules.addAll(Arrays.<Class<?>> asList(subModule.value()));
          }
        }
      }
  
      return modules;
    }
docs: allow activation of the extension w/o specifying any modules.