Sometimes a labeled break or continue can make code a lot more readable.
OUTERLOOP: for ( ;/*stuff*/; ) { //...lots of code if ( isEnough() ) break
The convetion/best practise would still be not to use them at all and to refactor the code so that is more readable using extract as method.