code: public void putToByteBuffer(final ByteBuffer buffer) {
          notNull("buffer", buffer);
          isTrueArgument("buffer.remaining() >=12", buffer.remaining() >= OBJECT_ID_LENGTH);
  
          buffer.put(int3(timestamp));
          buffer.put(int2(timestamp));
          buffer.put(int1(timestamp));
          buffer.put(int0(timestamp));
          buffer.put(int2(randomValue1));
          buffer.put(int1(randomValue1));
          buffer.put(int0(randomValue1));
          buffer.put(short1(randomValue2));
          buffer.put(short0(randomValue2));
          buffer.put(int2(counter));
          buffer.put(int1(counter));
          buffer.put(int0(counter));
      }
docs: Convert to bytes and put those bytes to the provided ByteBuffer.
  Note that the numbers are stored in big-endian order.
  
  @param buffer the ByteBuffer
  @throws IllegalArgumentException if the buffer is null or does not have at least 12 bytes remaining
  @since 3.4