code: public static <T> String resolveResourcePath(Request<T> request) {
  		infixPotentialPathDefaults(request, request.getClass());
  
  		Class<?> clazz = request.getClass();
  
  		String unresolvedPath = ClassUtil.getClassAnnotationValue(clazz, Path.class, "value", String.class);
  
  		Map<String, String> patternMap = new HashMap<String, String>();
  		for (Field field : clazz.getDeclaredFields()) {
  			PathVariable part = field.getAnnotation(PathVariable.class);
  			if (part != null) {
  				try {
  					String pattern = part.value();
  					field.setAccessible(true);
  					String value = (String) field.get(request);
  					patternMap.put(pattern, value);
  				} catch (Exception e) {
  					throw new RuntimeException(e);
  				}
  			}
  		}
  
  		Pattern pattern = Pattern.compile(PATTERN);
  		Matcher matcher = pattern.matcher(unresolvedPath);
  
  		LinkedHashSet<String> placeholder = new LinkedHashSet<String>();
  		while (matcher.find()) {
  			placeholder.add(matcher.group());
  		}
  
  		for (String key : placeholder) {
  			String found = patternMap.get(key);
  			if (found != null) {
  				unresolvedPath = unresolvedPath.replace((String) key, found);
  			}
  		}
  
  		if (unresolvedPath.endsWith("/")) {
  			unresolvedPath = unresolvedPath.substring(0, unresolvedPath.length() - 1);
  		}
  		return unresolvedPath;
  	}
docs: <p>
  resolveResourcePath.
  </p>
  
  @param request
  a {@link com.apitrary.api.request.Request} object.
  @param <T>
  a T object.
  @return a {@link java.lang.String} object.