core/src/main/java/net/typedrest/BeanUtils.java
public static <TAnnotation extends Annotation> List<PropertyDescriptor> getPropertiesWithAnnotation(Class<?> beanType, Class<TAnnotation> annotationType) {
        LinkedList<PropertyDescriptor> result = new LinkedList<>();
        getProperties(beanType).forEach(property -> {
            if (property.getReadMethod() != null && property.getReadMethod().getAnnotation(annotationType) != null
                    || isFieldAnnotated(beanType, property.getName(), annotationType)) {
                result.add(property);
            }
        });
        return result;
    }
public static <TAnnotation extends Annotation> List<PropertyDescriptor> getPropertiesWithAnnotation(Class<?> beanType, Class<TAnnotation> annotationType) {
        LinkedList<PropertyDescriptor> result = new LinkedList<>();
        getProperties(beanType).forEach(property -> {
            if (property.getReadMethod() != null && property.getReadMethod().getAnnotation(annotationType) != null
                    || isFieldAnnotated(beanType, property.getName(), annotationType)) {
                result.add(property);
            }
        });
        return result;
    }
public static < TAnnotation extends Annotation > List < PropertyDescriptor > getPropertiesWithAnnotation ( Class < ? > beanType , Class < TAnnotation > annotationType ) { LinkedList < PropertyDescriptor > result = new LinkedList <> ( ) ; getProperties ( beanType ) . forEach ( property -> { if ( property . getReadMethod ( ) != null && property . getReadMethod ( ) . getAnnotation ( annotationType ) != null || isFieldAnnotated ( beanType , property . getName ( ) , annotationType ) ) { result . add ( property ) ; } } ) ; return result ; }
Lists all properties on a bean type that have a specific annotation on
their getter or backing field.

@param <TAnnotation> The annotation type to look for.
@param beanType The type of bean to check for properties.
@param annotationType The annotation type to look for.
@return A list of matching properties.
Lists all properties on a bean type that have a specific annotation on their getter or backing field .