Substitutes template variables with listed values. List of values is counterpart for
#getVariables(). When list of value is shorter than variables substitution
is partial. When variable has pattern, value must fit to pattern, otherwise
IllegalArgumentException is thrown.
Example1: for template "/{a}/{b}/{a}"
#getVariables() returns "[a, b, a]"; providing here list
of value "[foo, bar, baz]" results with "/foo/bar/baz".
Example2: for template "/{a}/{b}/{a}" providing list of values "[foo]" results with "/foo/{b}/{a}".