diff --git a/core/pom.xml b/core/pom.xml
index ade8c8f..90aeebd 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -7,12 +7,12 @@
HEAD-SNAPSHOT
autorest-core
- jar
+ gwt-lib
AutoREST :: core
- 1.7
- 1.7
+ 1.8
+ 1.8
@@ -40,6 +40,18 @@
test
+
+
+
+ net.ltgt.gwt.maven
+ gwt-maven-plugin
+
+ com.intendia.gwt.autorest
+ autorest
+
+
+
+
diff --git a/core/src/main/java/com/intendia/gwt/autorest/client/CollectorResourceVisitor.java b/core/src/main/java/com/intendia/gwt/autorest/client/CollectorResourceVisitor.java
index 69fd04b..98db749 100644
--- a/core/src/main/java/com/intendia/gwt/autorest/client/CollectorResourceVisitor.java
+++ b/core/src/main/java/com/intendia/gwt/autorest/client/CollectorResourceVisitor.java
@@ -8,6 +8,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+
import javax.annotation.Nullable;
import javax.ws.rs.HttpMethod;
@@ -16,29 +17,31 @@ public abstract class CollectorResourceVisitor implements ResourceVisitor {
private static final String ABSOLUTE_PATH = "[a-z][a-z0-9+.-]*:.*|//.*";
private static final List DEFAULT_EXPECTED_STATUS = asList(200, 201, 204, 1223/*MSIE*/);
- public static class Param {
+ public static class Param {
public final String k;
- public final Object v;
- public Param(String k, Object v) { this.k = k; this.v = v; }
- public static List expand(List in) {
- List out = new ArrayList<>();
- for (Param p : in) {
+ public final T v;
+ public final TypeToken t;
+ public Param(String k, T v, TypeToken t) { this.k = k; this.v = v; this.t = t; }
+
+ public static List> expand(List> in) {
+ List> out = new ArrayList<>();
+ for (Param> p : in) {
if (!(p.v instanceof Iterable>)) out.add(p);
- else for (Object v : ((Iterable>) p.v)) out.add(new Param(p.k, v));
+ else for (Object v : ((Iterable>) p.v)) out.add(new Param