docs: public static BigDecimal roundWithTrailingZeroes(BigDecimal value, MathContext mathContext) {
  		if (value.precision() == mathContext.getPrecision()) {
  			return value;
  		}
  		if (value.signum() == 0) {
  			return BigDecimal.ZERO.setScale(mathContext.getPrecision() - 1);
  		}
  
  		try {
              BigDecimal stripped = value.stripTrailingZeros();
              int exponentStripped = exponent(stripped); // value.precision() - value.scale() - 1;
  
              BigDecimal zero;
              if (exponentStripped < -1) {
                  zero = BigDecimal.ZERO.setScale(mathContext.getPrecision() - exponentStripped);
              } else {
                  zero = BigDecimal.ZERO.setScale(mathContext.getPrecision() + exponentStripped + 1);
              }
              return stripped.add(zero, mathContext);
          } catch (ArithmeticException ex) {
  		    return value.round(mathContext);
          }
  	}