antré se il codice è illeggibile è quasi impossibile che qualcuno ti dia una mano

---

guarda che puoi benissimo serializzare le classi semplicemente aggiungendo un layer che aggiunga le informazioni sulla classe dentro un'array con una struttura ad albero

il problema, piuttosto, è che la tua classe, credo, non deserializza array di sub-array