code: public static String convertToString(byte[] uuid) 
     {
        if (uuid.length != 16)
           throw Messages.MESSAGES.uuidMustBeOf16Bytes();
        
        String string = bytesToHex(uuid, 0, 4) + "-" 
                      + bytesToHex(uuid, 4, 2) + "-" 
                      + bytesToHex(uuid, 6, 2) + "-"
                      + bytesToHex(uuid, 8, 2) + "-"
                      + bytesToHex(uuid, 10, 6);
  
        return string;
     }
docs: Converts a UUID in byte array form to the IETF string format.
  
  <p>The BNF follows:
  <pre>
  UUID                   = <time_low> "-" <time_mid> "-"
  <time_high_and_version> "-"
  <variant_and_sequence> "-"
  <node>
  time_low               = 4*<hexOctet>
  time_mid               = 2*<hexOctet>
  time_high_and_version  = 2*<hexOctet>
  variant_and_sequence   = 2*<hexOctet>
  node                   = 6*<hexOctet>
  hexOctet               = <hexDigit><hexDigit>
  hexDigit               =
  "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
  | "a" | "b" | "c" | "d" | "e" | "f"
  | "A" | "B" | "C" | "D" | "E" | "F"
  </pre>
  
  @param uuid a 16 byte
  @return the IETF string form of the passed UUID