В моем приложении я храню свои бизнес-данные как огромный объект, содержащий множество мелких объектов, свойств и т. Д.
Для печати отчетов на основе этих данных я создал модуль печати.
В модуле печати мне нужно получить доступ почти ко всем свойствам, подобъектам и полям, поэтому я передаю свой HugeObject в качестве параметра в модуль печати.
Проблема в том, что передаваемый HugeObject по ссылке может быть непреднамеренно изменен в модуле печати.
Как защитить HugeObject от изменений?