ugh so if it is empty, then it return what?

in general this method deserve some love and think what is its contract and document it.