Предполагая, что ваш класс userTO очень сплоченный ...
Когда вы создаете экземпляры объектов, вы всегда хотите убедиться, что они созданы в допустимом состоянии.Это означает, что вы можете взять экземпляр данного объекта и иметь возможность передать его в метод в любом месте вашей программы без получения исключений типа ошибки программирования (например, NullPointerException).Это привело бы к заключению, что вы всегда должны создавать свое пользовательское ТУ со всеми 20 полями.
Однако мы живем и работаем в рамках ограничений.Если заполнение всех 20 полей в каждом экземпляре userTO вызывает ненужную и неблагоприятную нагрузку на вашу систему, тогда вы можете подумать о создании userTOShort, который содержит подмножество полей userTO, которые часто используются.Тогда «необязательные дополнительные» поля, которые нужны очень редко, могут быть заполнены при необходимости.Это "короткое" решение кажется немного грязным, но я не знаю более чистого решения.