code: public static Map<String, Object> withVars(final String key, final Object value, final Object... more) {
          if (more != null && more.length % 2 != 0) {
              throw new IllegalArgumentException("The number of template variables (key-value pairs) must be even");
          }
          final Map<String, Object> map = new HashMap<>();
          map.put(key, value);
          if (more != null) {
              for (int i=0; i<more.length; i+=2) {
                  map.put(more[i].toString(), more[i+1]);
              }
          }
          return map;
      }
docs: Creates a Map containing key-value pairs used as parameters for UriTemplate variables.
  <p>
  Basically, this method is only adding some semantic sugar, so you can write code like this:
  </p>
  <pre><code>
  traverson(this::httpGet)
  .startWith("http://example.org")
  .follow("foo", withVars("param1", "value1", "param2", "value2"))
  .getResource();
  </code></pre>
  
  @param key the first key
  @param value the value associated with the first key
  @param more Optionally more key-value pairs. The number of parameters is must even, keys must be Strings.
  @return Map