why you see this checked in the method? I think it's better to do the check here, because you want to call something depends on the state even if the method itself not depends on the state, plus it's better to read.