Oh wow. I completely misunderstood the point of this function based on its name.  And I was wondering why the other one wasn't calcDeepestFirstOnscreen().

Shouldn't you call this calcLastDeepestOnscreen()?