The return in the finally block *always* gets executed, even you throw an exception earlier.
That's, of course, very bad style and actually should *never ever* be done. That is, you should never have something returned from or thrown in a finally block.
The java compiler should actually give you a warning for the above code.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus