Uso de predicado em criteria...como iterar num atributo tipo lista?

Ao tentar criar um conjunto de predicados usando criteria me deparei com um problema…
obs: eventoParto é um root criado a partir do criteria aplicado em uma entidade com nome semelhante e tem uma lista de animaisEventoParto

ParameterExpression paiExpr = builder.parameter(String.class, “pai”);
predicates.add(builder.equal(eventoParto.get(“animaisEventoParto”).get(“filho”).get(“pai”).get(“nome”), paiExpr));

o problema é que ao construir o predicado eu preciso pegar apenas o primeiro elemento de animaisEventoParto, olhar quem é o filho até chegar no nome do pai para comparar com a string paiExpr… existe alguma forma de fazer isto utilizando predicado e criteria? como iterar no atributo?