docs: public static String percentDecode(String source) throws AuthException {
      try {
        return URLDecoder.decode(source, "UTF-8");
      } catch (java.io.UnsupportedEncodingException ex) {
        throw new AuthException("cannot decode value '" + source + "'", ex);
      }
    }