Dancing Hoskuld
Deity
And the million dollar question is:
Why did they bother to check getCitiesPerPlayer twice...
Sometimes it is better to check something twice rather than making code which is not easily to understand. It also makes it easier to test and maintain. In the case shown all the code for an call to the function at an inappropriate (or invalid) game state are caught first. This is good practice for error handling for function based coding. Not so much for object oriented coding.
Although I agree, in the bit of code shown, doing one test would not have made the code difficult to understand.