code: protected void merge(Set<Annotation> stereotypeAnnotations) {
          final MetaAnnotationStore store = manager.getServices().get(MetaAnnotationStore.class);
          for (Annotation stereotypeAnnotation : stereotypeAnnotations) {
              // Retrieve and merge all metadata from stereotypes
              StereotypeModel<?> stereotype = store.getStereotype(stereotypeAnnotation.annotationType());
              if (stereotype == null) {
                  throw MetadataLogger.LOG.stereotypeNotRegistered(stereotypeAnnotation);
              }
              if (stereotype.isAlternative()) {
                  alternative = true;
              }
              if (stereotype.getDefaultScopeType() != null) {
                  possibleScopeTypes.add(stereotype.getDefaultScopeType());
              }
              if (stereotype.isBeanNameDefaulted()) {
                  beanNameDefaulted = true;
              }
              this.stereotypes.add(stereotypeAnnotation.annotationType());
              // Merge in inherited stereotypes
              merge(stereotype.getInheritedStereotypes());
          }
      }
docs: Perform the merge
  
  @param stereotypeAnnotations The stereotype annotations