What, precisely, do you mean by the closest leaf? If I understand right, it's the lowest-depth node which does not point to any other nodes.
If that is correct, then you code is correct.
unfortunately, I'm not a java programmer, so I can't actually contribute anything to the solution, except that as I believe you can't use pointers, you'll need to use
Code:
if (Root.Left != NULL) {
Hope that's of some help.