code: Object getMaximumValue() {
          if (requiredType == PropertyType.DATE || requiredType == PropertyType.DOUBLE || requiredType == PropertyType.LONG
              || requiredType == PropertyType.DECIMAL) {
              ConstraintChecker checker = this.checker;
              if (checker == null || checker.getType() != requiredType) {
                  checker = createChecker(context, requiredType, valueConstraints);
                  this.checker = checker;
              }
              assert checker instanceof RangeConstraintChecker;
              RangeConstraintChecker<?> rangeChecker = (RangeConstraintChecker<?>)checker;
              return rangeChecker.getMaximum(); // may still be null
          }
          return null;
      }
docs: Return the maximum value allowed by the constraints, or null if no such maximum value is defined by the definition given
  it's required type and constraints. A maximum value can only be found for numeric types, such as {@link PropertyType#DATE
  DATE}, {@link PropertyType#LONG LONG}, {@link PropertyType#DOUBLE DOUBLE}, and {@link PropertyType#DECIMAL DECIMAL}; all
  other types will return null.
  
  @return the maximum value, or null if no maximum value could be identified