Структура нужна для промежуточного хранения и правки юзером дерева.
Есть записи, которые разложены по группам, есть алгоритм складывания групп друг в друга - принцип хранения исходных даных не существенен.
Строится дерево, предъявляется юзеру, юзер правит алгоритм оптимизации этого дерева (оно, соответственно, перестраивается), потом дерево применяется - перестраивается в дерево папок, в структуру ХТМЛ или что-то подобное.
От интерфейса хочу абстрагироваться, иначе брал бы TreeView и не парился.
Есть подозрение, что я вообще не в ту сторону копаю...