I thought that your event boucle had something in that you needed to fire when break, not that you wanted to use it to do the break. And as the loop with break does the job, you no more need it. My bad ^^
But the added bool is needed because if you loop and that there is no match, next part will be fired on completed.
Edit : Or on branch true you do the related event to true and then link to break, or you set a bool to know that it has been true, link to break and on completed you fire you event and reset your bool.
Edit 2 : As you use index, you may have to save it too when you set your bool on branch true to have it on completed.