The processor.init() call is destructive on the where conditions list. So doing the initial one with the where conditions included prevents the exceptional case from working at all. 

I think I have a way of doing the counting a different way though.