/** * {@inheritDoc} */ public Set<ObserverMethod<?>> defineObserverMethods(AbstractOwbBean<T> ownerBean) { Set<ObserverMethod<?>> definedObservers = new HashSet<>(); for (AnnotatedMethod<?> annotatedMethod : webBeansContext.getAnnotatedElementFactory().getFilteredAnnotatedMethods(annotatedType)) { ObserverMethod<?> observerMethod = defineObserverMethod(ownerBean, annotatedMethod); if (observerMethod != null) { definedObservers.add(observerMethod); } } if (!definedObservers.isEmpty()) { for (InjectionPoint ip : ownerBean.getInjectionPoints()) { Set<Annotation> qualifiers = ip.getQualifiers(); if (EventMetadata.class == ip.getType() && qualifiers != null && ip.getQualifiers().size() == 1 && Default.class == qualifiers.iterator().next().annotationType()) { throw new WebBeansConfigurationException(ip + " is not an observer parameter"); } } } return definedObservers; }