リロードすると挙動が変わるサーブレット

なんかサーブレットを作ってると、3回リロードしたときに挙動が変わるので困ってます。
Tomcat5.5.17で発生。
Glassfishだと発生しない。
と思ったら、JDK1.5とJDK1.6の違いみたい。
もちろん、フィールドに状態を保存したりしてないし、メソッドひとつで完結する処理なんで、リロード回数で挙動がかわるようなサーブレットじゃないんだけど。
気になる。


追記
ダミーの変数を追加したら、3回が11回になった。怪しい。

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で動かす必要はないんだけど。