@SuppressFBWarnings(value = {"SF_SWITCH_FALLTHROUGH", "SF_SWITCH_NO_DEFAULT"}, justification = "Intentional fall through")
  public int fastSerializeForHiveDecimal(Decimal128FastBuffer scratch, byte signum) {
    int bufferUsed = this.count;
    ByteBuffer buf = scratch.getByteBuffer(bufferUsed);
    buf.put(0, (byte) (signum == 1 ? 0 : signum));
    int pos = 1;
    int firstNonZero = 0;
    while(firstNonZero < this.count && v[firstNonZero] == 0) {
        ++firstNonZero;
    }
    switch(this.count) {
    case 4:
      fastSerializeIntPartForHiveDecimal(buf, pos, v[3], signum, firstNonZero == 3);
      pos+=4;
      // intentional fall through
    case 3:
      fastSerializeIntPartForHiveDecimal(buf, pos, v[2], signum, firstNonZero == 2);
      pos+=4;
      // intentional fall through
    case 2:
      fastSerializeIntPartForHiveDecimal(buf, pos, v[1], signum, firstNonZero == 1);
      pos+=4;
      // intentional fall through
    case 1:
      fastSerializeIntPartForHiveDecimal(buf, pos, v[0], signum, true);
    }
    return bufferUsed;
  }
Updates the value of {@link #count} by checking {@link #v}.
common/src/java/org/apache/hadoop/hive/common/type/UnsignedInt128.java