@@ -0,0 +1,1031 @@
+package java.util;%0A%0Apublic class UUID %7B%0A  private final byte%5B%5D data;%0A%0A  private UUID(byte%5B%5D data) %7B%0A    this.data = data;%0A  %7D%0A%0A  public static UUID randomUUID() %7B%0A    byte%5B%5D array = new byte%5B16%5D;%0A%0A    new Random().nextBytes(array);%0A%0A    array%5B6%5D &= 0x0f;%0A    array%5B6%5D %7C= 0x40;%0A    array%5B8%5D &= 0x3f;%0A    array%5B8%5D %7C= 0x80;%0A%0A    return new UUID(array);%0A  %7D%0A%0A  public String toString() %7B%0A    StringBuilder sb = new StringBuilder();%0A    toHex(sb, data, 0, 4); sb.append('-');%0A    toHex(sb, data, 4, 2); sb.append('-');%0A    toHex(sb, data, 6, 2); sb.append('-');%0A    toHex(sb, data, 8, 2); sb.append('-');%0A    toHex(sb, data, 10, 6);%0A    return sb.toString();%0A  %7D%0A%0A  private static char toHex(int i) %7B%0A    return (char) (i %3C 10 ? i + '0' : (i - 10) + 'A');%0A  %7D%0A%0A  private static void toHex(StringBuilder sb, byte%5B%5D array, int offset,%0A                            int length)%0A  %7B%0A    for (int i = offset; i %3C offset + length; ++i) %7B%0A      sb.append(toHex((array%5Bi%5D %3E%3E 4) & 0xf));%0A      sb.append(toHex((array%5Bi%5D     ) & 0xf));%0A    %7D%0A  %7D%0A%7D%0A

add bare-bones UUID implementation