DatabaseUUIDFactory::buildUUIDFromHexadecimalString
is going to be used on "untrusted" input and throwing an exception when something not valid is given to it is probably not the best course of action. It is likely that the exception will not be catched most of the times and in most of the situations it should probably be handled in the same way than when the item is not found (i.e. not a 500)