code: @Override
      public void setMaximumIntegerDigits(int newValue) {
          maximumIntegerDigits = Math.min(Math.max(0, newValue), MAXIMUM_INTEGER_DIGITS);
          super.setMaximumIntegerDigits((maximumIntegerDigits > DOUBLE_INTEGER_DIGITS) ?
              DOUBLE_INTEGER_DIGITS : maximumIntegerDigits);
          if (minimumIntegerDigits > maximumIntegerDigits) {
              minimumIntegerDigits = maximumIntegerDigits;
              super.setMinimumIntegerDigits((minimumIntegerDigits > DOUBLE_INTEGER_DIGITS) ?
                  DOUBLE_INTEGER_DIGITS : minimumIntegerDigits);
          }
          fastPathCheckNeeded = true;
      }
docs: Sets the maximum number of digits allowed in the integer portion of a
  number.
  For formatting numbers other than <code>BigInteger</code> and
  <code>BigDecimal</code> objects, the lower of <code>newValue</code> and
  309 is used. Negative input values are replaced with 0.
  @see NumberFormat#setMaximumIntegerDigits