I don't really get the point with people saying don't use nulls. Even if you use alternatives like default objects or empty lists, the caller always needs to know how to handle the result. Maybe your app doesnt break if you dont return null but maybe you miss an error with a default object just because the app didnt break.
I also favor the "dont use null" style but this doesnt change my point of view.