Because WeightedSpanTermExtractor#extract doesn't check for ToParentBlockJoinQuery, the Highlighter class fails to produce highlights for this type of query.
At first it may seem like there's no issue, because ToParentBlockJoinQuery only returns parent documents, while the highlighting applies to children. But if a client can directly supply the text from child documents (as elasticsearch does if _source is enabled), then highlighting will unexpectedly fail.
A test case that triggers the bug is attached. The same issue exists for ToChildBlockJoinQuery.