docs: protected void processParallelBeans() {
          new Thread(() -> {
              final List<BeanDefinitionReference> parallelBeans = beanDefinitionsClasses.stream()
                      .filter(bd -> bd.getAnnotationMetadata().hasDeclaredStereotype(Parallel.class) && bd.isEnabled(this))
                      .collect(Collectors.toList());
  
  
              Collection<BeanDefinition> parallelDefinitions = new ArrayList<>();
              parallelBeans.forEach(beanDefinitionReference -> {
                  try {
                      if (isRunning()) {
                          synchronized (singletonObjects) {
                              loadContextScopeBean(beanDefinitionReference, parallelDefinitions::add);
                          }
                      }
                  } catch (Throwable e) {
                      LOG.error("Parallel Bean definition [" + beanDefinitionReference.getName() + "] could not be loaded: " + e.getMessage(), e);
                      Boolean shutdownOnError = beanDefinitionReference.getAnnotationMetadata().getValue(Parallel.class, "shutdownOnError", Boolean.class).orElse(true);
                      if (shutdownOnError) {
                          stop();
                      }
                  }
              });
  
              filterProxiedTypes((Collection) parallelDefinitions, true, false);
              filterReplacedBeans((Collection) parallelDefinitions);
  
              parallelDefinitions.forEach(beanDefinition -> ForkJoinPool.commonPool().execute(() -> {
                  try {
                      if (isRunning()) {
                          synchronized (singletonObjects) {
                              loadContextScopeBean(beanDefinition);
                          }
                      }
                  } catch (Throwable e) {
                      LOG.error("Parallel Bean definition [" + beanDefinition.getName() + "] could not be loaded: " + e.getMessage(), e);
                      Boolean shutdownOnError = beanDefinition.getAnnotationMetadata().getValue(Parallel.class, "shutdownOnError", Boolean.class).orElse(true);
                      if (shutdownOnError) {
                          stop();
                      }
                  }
              }));
              parallelDefinitions.clear();
  
          }).start();
      }