code: static void longToByteArray(long value, byte[] dest, int destOffset) {
      Utils.checkArgument(dest.length >= destOffset + LONG_BYTES, "array too small");
      dest[destOffset + 7] = (byte) (value & 0xFFL);
      dest[destOffset + 6] = (byte) (value >> 8 & 0xFFL);
      dest[destOffset + 5] = (byte) (value >> 16 & 0xFFL);
      dest[destOffset + 4] = (byte) (value >> 24 & 0xFFL);
      dest[destOffset + 3] = (byte) (value >> 32 & 0xFFL);
      dest[destOffset + 2] = (byte) (value >> 40 & 0xFFL);
      dest[destOffset + 1] = (byte) (value >> 48 & 0xFFL);
      dest[destOffset] = (byte) (value >> 56 & 0xFFL);
    }
docs: Stores the big-endian representation of {@code value} in the {@code dest} starting from the
  {@code destOffset}.
  
  @param value the value to be converted.
  @param dest the destination byte array.
  @param destOffset the starting offset in the destination byte array.