"Can have grandchildren" is a misnamed check that should be cleaned up. What it really appears to mean is "is this a non-content-containing branch node", given that it checks that the node can have children, is not content, and is not a content container.
canHaveGrandchildren seems to still be used in some places, it should be renamed and documented adequately.
Version: unspecified
Severity: normal