docs: public static Map<String, String> parseQuery(String uri) {
          Map<String, String> map = new LinkedHashMap<>();
          String query = URI.create(uri).getQuery();
          if (query == null || query.equals("")) {
              return Collections.unmodifiableMap(map);
          }
          String[] params = query.split("&");
          for (String param : params) {
              try {
                  String[] pair = param.split("=", 2);
                  String name = URLDecoder.decode(pair[0], "UTF-8");
                  if (name.equals("")) {
                      continue;
                  }
                  map.put(name, pair.length > 1 ? URLDecoder.decode(pair[1], "UTF-8") : "");
              } catch (UnsupportedEncodingException e) {
                  throw new RuntimeException(e);
              }
          }
          return Collections.unmodifiableMap(map);
      }