refine Subtarget.hasChapter()