code: @SuppressWarnings("unchecked")
      public void postValidate(Object object) throws DataValidationException {
          if (_values != null || _ranges != null) {
              if (_values != null) for (Object value: _values) {
                  if (value.equals(object)) return;
              }
  
              if (_ranges != null) for (@SuppressWarnings("rawtypes") Range r: _ranges) {
                  @SuppressWarnings("rawtypes")
                  Comparable o = (Comparable)object;
                  if (r.inclusive) {
                      if ((r.min == null || r.min.compareTo(o) <= 0) && (r.max == null || o.compareTo(r.max) <= 0)) {
                          return;
                      }
                  } else {
                      if ((r.min == null || r.min.compareTo(o) < 0) && (r.max == null || o.compareTo(r.max) < 0)) {
                          return;
                      }
                  }
              }
  
              throw new DataValidationException("VALUES/RANGES", _name, object);
          }
      }
docs: Performs all data validation that is appicable to the data value itself
  
  @param object - the data value
  @throws DataValidationException if any of the data constraints are violated