¿Por qué no tengo súper clases con getAllSuperclasses () en la API de JDT?

Tengo clase A y clase B que hereda A en el espacio de trabajo de Eclipse.

El problema que tengo es que no obtuve nada cuando intenté obtener los supertipos de tipo B utilizando la API JDT de Eclipse. Este es el código (obtuve el código de -Listar todas las subclases con nombres completos):

IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
java.io.File workspaceDirectory = root.getLocation().toFile();

// 1. The name of the project in the workspace
IProgressMonitor pm = new NullProgressMonitor();    
IProject orig = root.getProject(this.projectName);
orig.open(pm);
this.javaProject = JavaCore.create(orig);
orig.refreshLocal(IResource.DEPTH_INFINITE, pm);

// 2. Find the type                
IType type = this.javaProject.findType("p.B"); <-- returns correct type info
ITypeHierarchy hier = type.newSupertypeHierarchy(new NullProgressMonitor());
IType[] types = hier.getAllSuperclasses(type);
System.out.println(types); <-- Returns []

También agregué el código para actualizar / actualizar los recursos en el paquete.

IPackageFragmentRoot[] packageFragmentRoots = this.javaProject.getPackageFragmentRoots();
for (IPackageFragmentRoot proot: packageFragmentRoots)
{
    proot.getResource().refreshLocal(IResource.DEPTH_INFINITE, null);
}

Todo funciona bien, excepto obtener la información de tipo jerárquico. ¿Qué podría estar mal? ¿Perdí alguna configuración antes de ejecutar la API?

La mía es una aplicación de RCP sin cabeza.

Respuestas a la pregunta(1)

Su respuesta a la pregunta