public String expand(Map<String, ?> variables) {
    String name = this.name.expand(variables);

    if (this.pure) {
      return name;
    }

    List<String> expanded = new ArrayList<>();
    for (Template template : this.values) {
      String result = template.expand(variables);
      if (result == null) {
        continue;
      }

      /*
       * check for an iterable result, and if one is there, we need to split it into individual
       * values
       */
      if (result.contains(",")) {
        /* we need to split it */
        expanded.addAll(Arrays.asList(result.split(",")));
      } else {
        expanded.add(result);
      }
    }

    return this.queryString(name, Collections.unmodifiableList(expanded));
  }
Expand this template. Unresolved variables are removed. If all values remain unresolved, the
result is an empty string.

@param variables containing the values for expansion.
@return the expanded template.
core/src/main/java/feign/template/QueryTemplate.java