### Question:
IdUtils { public static UUID tryParse(final String str) { if (str == null) { return null; } if (!PATTERN.matcher(str).matches()) { return null; } final String clean = str.replace("-", ""); if (clean.length() != 32) { return null; } final long msb = Long.parseUnsignedLong(clean.substring(0, 16), 16); final long lsb = Long.parseUnsignedLong(clean.substring(16), 16); return new UUID(msb, lsb); } IdUtils(); static UUID create(); static UUID tryParse(final String str); static byte[] toBytes(final UUID id); static UUID fromBytes(final byte[] b);  }### Answer:
@Test public void testParseNull() { assertNull(IdUtils.tryParse(null)); }
@Test public void testParseEmpty() { assertNull(IdUtils.tryParse("")); }
@Test public void testParseBadCharacters() { assertNull(IdUtils.tryParse("!@#")); }
@Test public void testParseTooShort() { assertNull(IdUtils.tryParse("1234567890")); }