Einen Baum halte ich für überflüssig. Mir erschließt sich nicht, wofür er nützlich sein sollte, außer für die Anzeige der Daten.
Das ist für mich nützlich um die Dateien ähnlich einer Explorer-Funktion zu verwalten um Dateien hin- und her zu kopieren/verschieben/löschen/hinzufügen, falls nötig.
Dazu wollte ich eine Struktur, die in der Lage ist das lokale und das remote Verzeichnis gleichermaßen abzubilden,
um dies anzuzeigen und schnell abzugleichen und zu bearbeiten.
Eigentlich sollte das schon sehr im Sinne eines
FTP-Clients, oder TotalCommander oder ähnlich aussehen.
Nur das meine App eben noch spezielle Operationen mit den Dateien machen muss, was ein
FTP-Client nicht kann.
Weil das aber eigentlich eine recht generelle Aufgabenstellung ist, so denke ich zumindest, wäre es doch sehr wahrscheinlich dass es dafür bereits ein existierendes, optimales Pattern oder vielleicht eine fertige Lösung gibt.
Die Abbildung eines solchen Verzeichnissystems (Baum) zur synchronisierung ist doch prinzipiell auf allen
OS, FAT/NTFS/APFS-Systemen und so weiter gleich, der einzige Unterschied sind Details wie Pfad-Delimiter, Zugriffsrechte, oder ähnlich.
Das sollte man doch perfekt plattformübergreifend abbilden und verwalten können mit einer Klasse, zumindest meiner Meinung nach.