Hi Tom,
Thanks for reporting what you're correctly considering as an irrelevant issue in this particular context.
The purpose of this rule is to reinforce a safer coding practice that must lead to prevent facing some unexpected NullPointerException later. In a perfect world, this rule should be indeed smart enough to guess that this coding practice is irrelevant here due to the contract of the overridden method. But as you said, getting this knowledge seems ultimately hard.
But anyway, even if we're a bit stuck here, feel free to keep on reporting such kind of irrelevant issues.
Freddy