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 ( ) ) ; } }
Perform the merge