the documentation says visitPermittedSubClass is called at the wrong time
the documentation says visitPermittedSubClass is called before visitPermittedSubClass is actually called, this should be fixed
the documentation says visitPermittedSubClass is called before visitPermittedSubClass is actually called, this should be fixed