public void scaleUpTenDestructive(short tenScale) {
    if (tenScale == 0) {
      return;
    }

    if (tenScale < 0) {
      throw new IllegalArgumentException();
    }

    if (isZero()) {
      return;
    }

    // First, scale up with 2. Check overflow
    shiftLeftDestructiveCheckOverflow(tenScale);

    // Then, scale up with 5
    scaleUpFiveDestructive(tenScale);
  }
Scale up the value for 10**tenScale (this := this * 10**tenScale). Scaling
up DOES throw an error when an overflow occurs. For example, 42.scaleUp(1)
= 420, 42.scaleUp(40) = ArithmeticException. This version is destructive,
meaning it modifies this object.

@param tenScale
         scaling. must be positive
common/src/java/org/apache/hadoop/hive/common/type/UnsignedInt128.java