code: private void write(final long mValue) throws IOException {
          final int length = (int)Math.log10((double)mValue);
          int digit = 0;
          long remainder = mValue;
          for (int i = length; i >= 0; i--) {
              digit = (byte)(remainder / LONG_POWERS[i]);
              mOut.write((byte)(digit + ASCII_OFFSET));
              remainder -= digit * LONG_POWERS[i];
          }
      }
docs: Write non-negative non-zero long as UTF-8 bytes.
  
  @param mValue
  Value to write
  @throws IOException
  if can't write to string