As @alanjrogers has pointed out before, this should be in a static C function, so we don't accidentally call through to a subclass doing the exact same thing.