code: public static String bytesToOpaque(byte[] bytes)
      {
          StringBuilder result = new StringBuilder();
          result.append(OPAQUE_PREFIX);
          for (byte aByte : bytes)
          {
              result.append(ESCAPE);
              int code = aByte & 0xFF;
              if (code < 16) result.append("0");
              result.append(Integer.toHexString(code).toUpperCase());
          }
          return result.toString();
      }
docs: Returns an opaque string containing the escaped sequence of the given bytes,
  including the initial opaque prefix \FF.
  <br />
  For example the byte array <code>[0xCA, 0xFE]</code> will be converted into the string
  <code>\FF\CA\FE</code>.
  
  @param bytes The bytes to escape into an opaque string
  @return the opaque string obtained escaping the given bytes
  @see #opaqueToBytes(String)