code: @Override
      public boolean process(final Set<? extends TypeElement> annotations, final RoundEnvironment roundEnv) {
          if (roundEnv.processingOver()) {
              return false;
          }
  
          final Map<Class<?>, Set<? extends Element>> annotationMap = new HashMap<>();
          annotationMap.put(Preload.class, roundEnv.getElementsAnnotatedWith(Preload.class));
          annotationMap.put(BootComponent.class, roundEnv.getElementsAnnotatedWith(BootComponent.class));
          annotationMap.put(RegistrationPoint.class, roundEnv.getElementsAnnotatedWith(RegistrationPoint.class));
          annotationMap.put(Register.class, roundEnv.getElementsAnnotatedWith(Register.class));
  
          if (!annotationMap.get(BootComponent.class).isEmpty() ||
                  !annotationMap.get(RegistrationPoint.class).isEmpty() ||
                  !annotationMap.get(Register.class).isEmpty() ||
                  !annotationMap.get(Preload.class).isEmpty()) {
  
              final String moduleName = createModuleStarter(annotationMap, this.processingEnv);
              createSPIFile(moduleName);
          }
  
          return true;
      }
docs: {@inheritDoc}