Deserialización de tipos genéricos con GSON

Tengo algunos problemas con la implementación de Dessonización Json en mi aplicación de Android (con la biblioteca Gson)

He hecho clase como esta

public class MyJson<T>{
    public List<T> posts;
}

Y la llamada de deserialización es:

public class JsonDownloader<T> extends AsyncTask<Void, Void, MyJson<T>> {
...
protected MyJson<T> doInBackground(Void... params) {
  ...
    Reader reader = new InputStreamReader(content);
    GsonBuilder gson = new GsonBuilder();
    Type collectionType = new TypeToken<MyJson<T>>() {}.getType();
    result = gson.create().fromJson(reader, collectionType);
  ...
  }
}

El problema es que result.posts list after after call contiene una matriz de objetos LinkedTreeMap (con los valores correctos, así que el problema es la deserialización) en lugar de MyJson Objects. Cuando uso MyObject en lugar de T, todo funciona bien y MyObject es correcto.

Entonces, ¿hay alguna forma de implementar la llamada de deserialización sin crear deserializador personalizado?

Respuestas a la pregunta(4)

Su respuesta a la pregunta