Jsf2BeanWrapper(AnnotatedType wrapped, Class<? extends Annotation> cdiScopeAnnotation, Class<? extends Annotation> jsf2ScopeAnnotation) { this.wrapped = wrapped; Set<Annotation> originalAnnotationSet = wrapped.getAnnotations(); this.annotations = new HashMap<Class<? extends Annotation>, Annotation>(originalAnnotationSet.size()); for(Annotation originalAnnotation : originalAnnotationSet) { if(originalAnnotation.annotationType().equals(ManagedBean.class)) { this.annotations.put(Named.class, new NamedLiteral(((ManagedBean)originalAnnotation).name())); } else if(!originalAnnotation.annotationType().equals(jsf2ScopeAnnotation)) { this.annotations.put(originalAnnotation.annotationType(), originalAnnotation); } } //TODO this.annotations.put(cdiScopeAnnotation, DefaultAnnotation.of(cdiScopeAnnotation)); this.annotationSet = new HashSet<Annotation>(this.annotations.size()); this.annotationSet.addAll(this.annotations.values()); }