code: public static <A extends Annotation> Optional<A> findPropertyAnnotation(
        BeanPropertyDefinition beanPropertyDefinition,
        Class<A> annotationClass) {
  
      return tryGetFieldAnnotation(beanPropertyDefinition, annotationClass)
          .map(Optional::of).orElse(tryGetGetterAnnotation(beanPropertyDefinition, annotationClass))
          .map(Optional::of).orElse(tryGetSetterAnnotation(beanPropertyDefinition, annotationClass));
    }
docs: Finds first annotation of the given type on the given bean property and returns it.
  Search precedence is getter, setter, field.
  
  @param beanPropertyDefinition introspected jackson property definition
  @param annotationClass        class object representing desired annotation
  @param <A>                    type that extends Annotation
  @return first annotation found for property