docs: public static Map<String, String> resolve(final String uri, final String uriTemplate) {
          final String[] parts = URLs.decode(uri).split("/");
          final String[] templateParts = uriTemplate.split("/");
          if (parts.length != templateParts.length) {
              return null;
          }
  
          final Map<String, String> ret = new HashMap<>();
          for (int i = 0; i < parts.length; i++) {
              final String part = parts[i];
              final String templatePart = templateParts[i];
              if (part.equals(templatePart)) {
                  continue;
              }
  
              String name = StringUtils.substringBetween(templatePart, "{", "}");
              if (StringUtils.isBlank(name)) {
                  return null;
              }
  
              final String templatePartTmp = StringUtils.replace(templatePart, "{" + name + "}", "");
              final String arg = StringUtils.replace(part, templatePartTmp, "");
  
              ret.put(name, arg);
          }
  
          return ret;
      }