// Look for inherited binding types, keeping in mind that
// IBeanInheritedMetaData knows nothing of the transitive
// relationships of Interceptor Bindings or Stereotypes. We must resolve
// these here.
IBeanInheritedMetaData metadata = component.getInheritedMetaData();
if (metadata != null)
{
Set<Annotation> inheritedBindingTypes = metadata.getInheritedInterceptorBindings();
if (!inheritedBindingTypes.isEmpty())
{
Annotation[] inheritedAnns = new Annotation[inheritedBindingTypes.size()];
inheritedAnns = inheritedBindingTypes.toArray(inheritedAnns);
anns = annotationManager.getInterceptorBindingMetaAnnotations(inheritedAnns);
bindingTypeSet.addAll(Arrays.asList(anns));
}
// Retrieve inherited stereotypes, check for meta-annotations, and
// find the ultimate set of bindings
Set<Annotation> inheritedStereotypes = metadata.getInheritedStereoTypes();
if (!inheritedStereotypes.isEmpty())
{
// We need AnnotationUtil to resolve the transitive relationship
// of stereotypes we've found