Sono diverse le soluzioni:
1. buttare la fattura sul nodo, ma per controlli hai il bruttissimo instanceof persona o instanceof fattura per il cast
2. creare un punto base da cui derivare Nodo --> ha un oggetto persona e uno fattura, uno a null e uno valido in modo tale che il tostring lo fai del valido
in questo modo, scegliendo un nodo no fai altro che aggiungere di nodi figli al tuo nodo (e nei vari esempi c'ìè come fare): i dati li hai, devi solo creare gli oggetti e fare il render a video.
Altre idee non ho (perdona sempre l'ora)