Desserialização GSON: como conhecer os objetos?

Eu tento usar a biblioteca gson para desserializar um fluxo de objetos enviados para mim. Em todos os exemplos que vi, quando o método fromJson é chamado, já sabemos qual tipo de objeto esperamos ter.

No meu caso, recebo um fluxo de objetos diferentes e gostaria de saber a melhor maneira de conhecer as classes de objetos antes de desserializá-los.

{ A : {...}, B : { B1 : {...}, B2 : {...} }, C : {...} }

Neste exemplo, gostaria de saber como 3 objetos foram enviados para mim: A.class, B.class e C.class

obrigado

questionAnswers(3)

yourAnswerToTheQuestion