OK, if you split this if out into a separate method, I can take a look at it.