code: @SuppressWarnings("unchecked")
    public String path(T target, Object... params) {
      if (params.length == 0) return path(target, Collections.emptyMap());
  
      if (params.length == 1 && params[0] instanceof Map<?, ?>) return pathMap(target, (Map<Object, Object>) params[0]);
  
      if (params.length % 2 == 1) throw new RuntimeException("Missing value for param: " + params[params.length - 1]);
  
      final Map<Object, Object> map = new HashMap<Object, Object>();
      for (int i = 0; i < params.length; i += 2) {
        final String key   = params[i].toString();
        final String value = params[i + 1].toString();
        map.put(key, value);
      }
      return pathMap(target, map);
    }
docs: ----------------------------------------------------------------------------