in the light of
OAK-8216 and OAK-8212 i spotted a potential NPE in all variants of ReadOnlyNodeTypeManager.isNodeType: these methods pass the value of getTypes(), which might return null, to isa(Tree types, String typeName, String superName), which does not check for the types parameter to be null.
i checked most extensions of ReadOnlyNodeTypeManager and non of them ever returns null because the usually just retrieve the tree at the node-types paths, which may or may not exist but Root.getTree never returns null (maybe it did in the early days of oak). anyway, this leaves me with the feeling that the 'nullable' annotation with ReadOnlyNodeTypeManager.isNodeType is wrong with and should be 'notnull' instead. this would allow to annotate isa(Tree types, String typeName, String superName)
with notnull and avoid the extra check for null.... but at the end i would also be find with just adding a check for null in the isa method and mark the types param as nullable.