Why does my Java compiler (jikes) reject "return;" in the middle of a method on the grounds that it makes the rest of the method unreachable, and yet not so much as warn me about " if (true) { return; }" which makes the rest of the method equally unreachable?