Path resolve(final String name, final String value) {
		if (params.isEmpty()) {
			return this;
		}

		final var expansion = URLEncoder.encode(value, UTF_8);

		final List<Param> parameters = new ArrayList<>();
		final var resolved = new StringBuilder(string);
		int offset = 0;

		for (var param : params) {
			if (param.name.equals(name)) {
				resolved.insert(param.index + offset, expansion);
				resolved.delete(param.index + offset - 1, param.index + offset);
			} else {
				parameters.add(new Param(param.index + offset, param.name));
			}
		}

		return new Path(resolved.toString(), parameters);
	}
Return the list of parsed parameter names. The list may be empty or
contain duplicate entries, depending on the input string. The list is
in exactly the order they appeared in the SQL string.

@return the parsed parameter names
jenetics.incubator/src/main/java/io/jenetics/incubator/restful/Path.java