docs: @Override
      public void visitBeanDefinitionConstructor(AnnotationMetadata annotationMetadata,
                                                 boolean requiresReflection,
                                                 Map<String, Object> argumentTypes,
                                                 Map<String, AnnotationMetadata> argumentAnnotationMetadata,
                                                 Map<String, Map<String, Object>> genericTypes) {
          if (constructorVisitor == null) {
              // first build the constructor
              visitBeanDefinitionConstructorInternal(
                      annotationMetadata,
                      requiresReflection,
                      argumentTypes,
                      argumentAnnotationMetadata,
                      genericTypes);
  
              // now prepare the implementation of the build method. See BeanFactory interface
              visitBuildMethodDefinition(annotationMetadata, argumentTypes, argumentAnnotationMetadata);
  
              // now override the injectBean method
              visitInjectMethodDefinition();
          }
      }