/** Roughly patterned (read: stolen) from java.util.UUID and java.lang.Long. */ public static String toString(long msb, long lsb) { final char[] uuidChars = new char[36]; digits(uuidChars, 0, 8, msb >> 32); uuidChars[8] = '-'; digits(uuidChars, 9, 4, msb >> 16); uuidChars[13] = '-'; digits(uuidChars, 14, 4, msb); uuidChars[18] = '-'; digits(uuidChars, 19, 4, lsb >> 48); uuidChars[23] = '-'; digits(uuidChars, 24, 12, lsb); try { return (String) STRING_FACTORY.invokeExact(uuidChars); } catch (Throwable e) { throw Throwables.propagate(e); } }