code: ClassConstraints extractValidationRules() {
      final ClassConstraints classConstraints = new ClassConstraints();
      Set<Field> allFields = ReflectionUtils.getAllFields(clazz, buildAnnotationsPredicate());
      for (Field field : allFields) {
        if (isNotExcluded(field)) {
          FieldConstraints fieldValidationRules = new AnnotatedField(field,
            relevantAnnotationClasses).extractValidationRules();
          if (fieldValidationRules.size() > 0) {
            classConstraints.put(field.getName(), fieldValidationRules);
          }
        }
      }
      return classConstraints;
    }
docs: Parses all fields and builds validation rules for those with relevant annotations.
  
  @return validation rules for all fields that have at least one rule
  @see AnnotatedClass(Class, Iterable)