I feel you should raise this exception first thing in the lop - why process the choice text at all if you're just going to throw the exception if the tag isn't right?