Десериализация абстрактного класса в Gson

У меня есть объект дерева в формате JSON, который я пытаюсь десериализовать с помощью Gson. Каждый узел содержит свои дочерние узлы как поля типа объекта Node. Node - это интерфейс, который имеет несколько конкретных реализаций классов. В процессе десериализации, как я могу сообщить Gson, какой конкретный класс реализовать при десериализации узла, если я не знаю a priori, к какому типу принадлежит узел? Каждый узел имеет поле члена, определяющее тип. Есть ли способ получить доступ к полю, когда объект находится в сериализованной форме, и каким-то образом сообщить тип Gson?

Спасибо!