the issue was a break statement that was breaking only from the switch, not the enclosing for loop, and a failure to set the final success state.