Вы используете объединенную справочную систему? Я получаю поведение, которое вы видите, если я использую setCurrentID ("topic"), а topic не является основным набором справки, а входит в вспомогательный набор. Вместо этого вы хотите
setCurrentID(javax.help.Map.ID.create("topic",subhelpset))
Для меня это заставляет выбор представления TOC происходить правильно. Конечно, это, вероятно, означает, что вам нужно использовать динамически объединенные наборы справок, поскольку я не вижу (от руки) простого способа найти подспособность, если она указана в файле .hs основного справочного набора.
Аналогичным образом, для контекстно-зависимой справки вам необходимо установить как идентификатор, так и набор справки для каждого компонента.