that's because nameUUIDFromBytes constructs a specific kind of UUID (as the javadoc states).
if you want to convert a byte[] back to a UUID, you should use the UUID constructor. Wrap a ByteBuffer around the byte[], read the 2 longs and pass them to the UUID constructor.