Crear cierres dinámicos en Groovy desde un objeto String

Me gustaría crear una consulta con la API de criterios en Grails (GORM). La consulta deberá ser algo como esto:

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

Lo que necesito es construir el cierre anidado dinámicamente a partir de un objeto String. La cadena para el ejemplo anterior será"assoc.parent.code" . Dividí la cadena por punto (haciendoString.split("\\.") ) pero no sé cómo construir los cierres anidados:

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

dinámicamente basado en la matriz de las cadenas divididas arriba.

Respuestas a la pregunta(2)

Su respuesta a la pregunta