Deserializar una clase abstracta en Gson

Tengo un objeto de árbol en formato JSON que estoy tratando de deserializar con Gson. Cada nodo contiene sus nodos secundarios como campos de tipo de objeto Nodo. Node es una interfaz, que tiene varias implementaciones de clase concretas. Durante el proceso de deserialización, ¿cómo puedo comunicarle a Gson qué clase concreta implementar al deserializar el nodo, si no sé a priori a qué tipo pertenece el nodo? Cada nodo tiene un campo miembro que especifica el tipo. ¿Hay alguna manera de acceder al campo cuando el objeto está en forma serializada y de alguna manera comunicar el tipo a Gson?

¡Gracias!

Respuestas a la pregunta(4)

Su respuesta a la pregunta