I think you can drop the GetChapterCount() > 0 test here, because the other conditions already imply this.