Смотри, это конкретная ошибка при проектировании.
Когда ты оформляешь метод, который тебе должен что то вернуть, ты должен позаботиться о том, чтобы он ВСЕГДА что то тебе возвращал.
Сказать что null = это результат который возвращается, будет равносильным обмана самого себя.
Ведь если результат выполнения void функции присвоить в переменную, вы получите тот же null то есть пустоту.
Как результат выходит, что в одном случае функция что то возвращает , а в другом случае вообще ничего не вернула. Нестабильность работы функции и отсутствия результата у функции которая не оформлена как воид, дурной тон.
обрабатываем какой-то CSV например и получаем значение пустая строка
, в дальнейшей работе это будет NULL - не заполнено, а не пустая строка.