Salut,
Je n'arrive pas bien à comprendre ce que tu veux.
Au début X est une classe. Puis X est une collection d'objets d'une autre classe ? Je fais un essai...
class ClassX {
Collection<ClassAutre> X;
}

As-tu besoin d'une classe pour faire ça ?
Ensuite Y est une classe, mais aussi une collection d'objets X. Je fais à nouveau un essai...
class ClassY {
Collection<ClassX> Y;
}

As-tu besoin d'une classe pour faire ça ?
Après c'est le flou total...
"Donc il faut un iterateur pour parcourir la collection d'objets X,
pour chaque objet X trouvé, je doit creer un objet de type Y.. "

Pourquoi créer un objet
ClassY pour chaque objet
ClassX alors qu'un objet
ClassY est fait pour contenir plusieurs objets
ClassX ?