deepCopy

Полная копия конфига с новыми ссылками.

Реализована через round-trip сериализации, а не ручным перечислением полей: новое свойство или вложенный класс попадают в копию автоматически, без риска забыть скопировать его руками. Глубина гарантирована — из XML собирается полностью новый граф объектов.

Используется XmlSerializer платформы — тот же механизм, которым настройки персистятся через PersistentStateComponent. Поэтому семантика копии совпадает с семантикой сохранения на диск, и не требуется отдельная зависимость на библиотеку сериализации.

Свойства, равные значениям по умолчанию, XmlSerializer в XML не пишет — это безопасно: копия создаётся тем же конструктором без аргументов, то есть стартует с тех же инициализаторов.

Return

независимая копия настроек