Maneira de percorrer profundamente um objeto Groovy com ponto na string usando GPath

A situação que tenho é que estou consultando o MongoDB com uma sequência de caracteres para um campo com mais de um nível na hierarquia de objetos. Esta consulta deve ser uma sequência. Então, por exemplo, estou consultando algo assim no Groovy:

def queryField = 'a.b.c'  //this is variable and can be different every time
def result = mongodb.collection.findOne([queryField:5])

O problema não é que no resultado eu quero encontrar o valor do campo aninhado. Com o GPath, eu poderia ir um nível acima e obter o valor de a fazendo isso

def aObj = result."a"  //or result["a"]

Como eu quero ir mais fundo do que isso, fazendo algo assim:

def queryField = "a.b.c"       //this can change every time and is not always 'a.b.c'
def cObj = result[queryField]  //since field is variable, can't just assume result.a.b.c

Isto não funciona no Groovy no momento. Há um erro registradoaqu, mas eu queria saber se existe uma solução melhor para esse cenário, que é um pouco mais limpo do que eu analisando a string dividindo o ponto e criando o percurso do objeto. Observe que "a.b.c" é variável e desconhecido no tempo de execução (por exemplo, pode ser "a.b.d").

questionAnswers(2)

yourAnswerToTheQuestion