Gibt es hierbei eine Möglichkeit, das changed "wegzuoptimieren"? Also ein Break, das sowohl die if, als auch die While Schleife abbricht?
In deinem Beispiel führen die beiden Breaks aber ja gerade nicht zum Abbruch der while-Schleife, sondern zu derer Fortsetzung. Die while-Schleife würde ja nur dann beendet, wenn keine der if-Bedingungen innerhalb der for-Schleife anschlägt.
Ist das jetzt so gewollt oder war nur deine Frage falsch formuliert?