Convenient utility to convert an object to a UUID. If the input is
- null: returns null
- a UUID: returns the input unchanged
- a String formatted as a UUID: returns the result of
UUID.fromString(String)
- any other String: returns
UUID.nameUUIDFromBytes(byte[])
with
bytes generated from the input
- a primitive or primitive wrapper: converts to a String ans then uses
the previous conversion method
- Serializable: returns the
UUID.nameUUIDFromBytes(byte[])
with
the serialized bytes of the input
If none of the above applies there will be an exception trying to serialize.