docs: static public byte[] asByteArray(int value) {
  
          // check for 0
          if (0 == value) {
              return ZERO_BYTEARRAY;
          }
  
          // 2^31 is a 10 digit number so make space for the max size
          byte[] bytes = new byte[SIZE_MAXINT];
          // check for negative ints
          boolean bNegative = false;
          if (0 > value) {
              // force it positive for parsing
              bNegative = true;
              value = -value;
          }
          // now loop back through each digit in the int
          int index = SIZE_MAXINT - 1;
          for (; 0 <= index && 0 != value; index--) {
              bytes[index] = HEX_BYTES[value % 10];
              value /= 10;
          }
  
          // length is how ever many digits there were + a possible negative sign
          int len = (SIZE_MAXINT - 1 - index);
          if (bNegative) {
              len++;
          }
  
          // now copy out the "real bytes" for returning
          byte[] realBytes = new byte[len];
          for (int i = len - 1, x = SIZE_MAXINT - 1; 0 <= i; i--, x--) {
              realBytes[i] = bytes[x];
          }
          // add negative sign if we need to
          if (bNegative) {
              realBytes[0] = '-';
          }
          return realBytes;
      }