code: private <T extends Annotation> T getAnnotationOn(AnnotatedElement element, Class<T> referenceAnnotation, Pattern matchingAnnotationPattern) {
          T matchingAnnotation = null;
          Annotation[] annotations = element.getAnnotations();
          for (Annotation annotation : annotations) {
              if (validateCustomAnnotationPattern(annotation.annotationType().getName(), matchingAnnotationPattern)) {
                  if (matchingAnnotation != null) {
                      throw new IllegalStateException("You are not allowed to use more than one @" + referenceAnnotation.getName()
                                                      + " annotations for the same element : "
                                                      + element.toString());
                  }
                  matchingAnnotation = AnnotationProxyFactory.getAnnotationProxy(annotation, referenceAnnotation);
              }
          }
          return matchingAnnotation;
      }
docs: EHC-938 : looking for all types of IgnoreSizeOf annotations