code: public static <T extends Annotation> T getAnnotation(Field field, Class<T> annotationType) {
          return field.getAnnotation(annotationType) == null ? getAnnotationFromReadMethod(getReadMethod(field).orElse(null),
                  annotationType) : field.getAnnotation(annotationType);
      }
docs: Looks for given annotationType on given field or read method for field.
  
  @param field field to check
  @param annotationType Type of annotation you're looking for.
  @param <T> the actual type of annotation
  @return given annotation if field or read method has this annotation or null.