If there "break" is called from a fork it does not work well:
@startuml
start
while (data?) is (yes)
:read data;
fork
if(a)then(yes)
break
endif
fork again
if(b)then(yes)
break
endif
end fork
endwhile (no)
stop
@enduml
Please see the diagram:
http://www.plantuml.com/plantuml/uml/VOx13i8W44JlynLpX5_GW_sLRLZinWe6CCQ_5uhdddQoyoPvIsrIslkvumZuRBOhNP0cDq-hT5-j7Y0lHILm55SWvl80QT69RvkcIP5SEpKQJS7Yv2XtiJJfzPJkXsDnfBz9oXxTBR-mzESGnGy0