{
          Object upperBound = EcoreUtil.createFromString(eDataType, digits.toString());
          @SuppressWarnings("unchecked") boolean upperBounded = effectiveMax == null ||
                (effectiveMaxIsInclusive ?
                   ((Comparable<Object>)effectiveMax).compareTo(upperBound) >= 0:
                   ((Comparable<Object>)effectiveMax).compareTo(upperBound) > 0);
          if (upperBounded)
          {
            effectiveMaxIsInclusive = false;
            effectiveMax = upperBound;
            effectiveTotalDigitsMax = effectiveTotalDigits;
          }
        }