The original method makes use of EcoreUtil.getAllContents
protected ISelectable internalGetAllDescriptions(final Resource resource) {
Iterable<EObject> allContents = new Iterable<EObject>(){
public Iterator<EObject> iterator() {
return EcoreUtil.getAllContents(resource, false);
}
};
Iterable<IEObjectDescription> allDescriptions = Scopes.scopedElementsFor(allContents, qualifiedNameProvider);
return new MultimapBasedSelectable(allDescriptions);
}
Shouldn't it use the IContainer.Manager?
protected ISelectable internalGetAllDescriptions(final Resource resource) {
IResourceServiceProvider resourceServiceProvider =
rspr.getResourceServiceProvider(resource.getURI());
Manager resourceDescriptionManager = resourceServiceProvider.getResourceDescriptionManager();
IResourceDescription resourceDescription = resourceDescriptionManager.getResourceDescription(resource);
Iterable<IEObjectDescription> exportedObjects = resourceDescription.getExportedObjects();
return new MultimapBasedSelectable(exportedObjects);
}