code: public URI expand(Object... uriVariableValues) {
  		UriComponents expandedComponents = this.uriComponents.expand(uriVariableValues);
  		UriComponents encodedComponents = expandedComponents.encode();
  		return encodedComponents.toUri();
  	}
docs: Given an array of variables, expand this template into a full URI. The array represent variable values.
  The order of variables is significant.
  <p>Example:
  <pre class="code">
  UriTemplate template = new UriTemplate("https://example.com/hotels/{hotel}/bookings/{booking}");
  System.out.println(template.expand("Rest & Relax", "42));
  </pre>
  will print: <blockquote>{@code https://example.com/hotels/Rest%20%26%20Relax/bookings/42}</blockquote>
  @param uriVariableValues the array of URI variables
  @return the expanded URI
  @throws IllegalArgumentException if {@code uriVariables} is {@code null}
  or if it does not contain sufficient variables