code: public static List<Field> getFieldsListWithAnnotation(final Class<?> cls, final Class<? extends Annotation> annotationCls) {
          Validate.isTrue(annotationCls != null, "The annotation class must not be null");
          final List<Field> allFields = getAllFieldsList(cls);
          final List<Field> annotatedFields = new ArrayList<>();
          for (final Field field : allFields) {
              if (field.getAnnotation(annotationCls) != null) {
                  annotatedFields.add(field);
              }
          }
          return annotatedFields;
      }
docs: Gets all fields of the given class and its parents (if any) that are annotated with the given annotation.
  @param cls
  the {@link Class} to query
  @param annotationCls
  the {@link Annotation} that must be present on a field to be matched
  @return a list of Fields (possibly empty).
  @throws IllegalArgumentException
  if the class or annotation are {@code null}
  @since 3.4