Criar fechamentos dinamicamente no Groovy a partir de um objeto String

Eu gostaria de criar uma consulta com a API Criteria in Grails (GORM). A consulta terá que ser algo assim:

MyEntity.createCriteria().list{
   assoc{
      parent{
         eq("code", val)
      }
   }
}

O que eu preciso é construir o fechamento aninhado dinamicamente a partir de um objeto String. A string para o exemplo acima será"assoc.parent.code" . Eu dividi o String por ponto (fazendoString.split("\\.") ) mas não sei como construir os fechamentos aninhados:

   assoc{
      parent{
         eq("code", val)
      }
   }

dinamicamente baseado no array das Strings divididas acima.

questionAnswers(2)

yourAnswerToTheQuestion