I still don't know how to handle properly both edge cases and execution errors/exceptions. But I think that if the method return a value anyway, it should at least keep it consistent. My way to do it is to always return an object.

May we return an empty object? Or an object with two empty lists?