JDK1.6のバグ?

上の処理。
デバッガで追うと正しい動きするし、変数の初期値変えると挙動が変わるし、Java6のバグに見える。
whileでcontinueしたときに変数がリセットされるような、そんな感じ。
JDK1.5で動かしたときにはちゃんと動くので、コンパイラじゃなくてVMの方がくさい。


追記:
現象としては

remark = true;
preRemarkBreak = brk;
brk = true;
continue;

という部分で、preRemarkBreakを変更しても、continueして戻ったところでpreRemarkBreakが元に戻っています。
HotSpotの挙動でしょうか?
基本的にはbrkがfalseのときにしかここを通らないはずなので、宣言部の初期値を

boolean preRemarkBreak = false;

にして逃げてます。
そこまでしてJDK1.6で動かす必要はないんだけど。