Devo ammettere che sarebbe un metodo notevole.
Devo pero ' mettere a posto le idee , se mi aiuti un po' è meglio:

Per creare una struttura ad albero (quindi un percorso di importazione) va benissimo , il problema è che tutti gli oggetti dovrebbero implementare la stessa interfaccia base(Sbaglio?).
In un importatore ogni fase ha dei dati restituiti diversi , e quindi non va molto bene.
Ho pensato pero' che si puo' "condividere" (non so quale metodo è il migliore) la classe di dati che si vuole costruire tra tutti gli oggetti della gerarichia di importazione in modo che ogni foglia della gerarichia vada a modificare la struttura dati condivisa(che ha un interfaccia generica) , ad es aggiungendo vertici o facce ecc... e scorrendo ad es l'albero e invocando un metodo execute ogni foglia in pratica fa la sua operazioncina sulla struttura dati fino a completare l'albero ottenendo una struttura dati completa.

L'aspetto che mi piace meno pero' è che il metodo execute deve essere autonomo , nel senso che deve svolgere un ruolo "atomico" che non dipende da niente ,solo dalla gerarchia di importazione.

Si puo' fare?
ciao.