if (referenceDescriptor.isInheritanceSubclass()) {
referenceDescriptor = referenceDescriptor.getInheritanceRootDescriptor();
}
} else {
ClassAccessor accessor = getProject().getAccessor(getReferenceClassName());
referenceDescriptor = (accessor != null) ? accessor.getDescriptor() : null;
if (referenceDescriptor == null) {
MetadataProcessor compositeProcessor = getProject().getCompositeProcessor();
if (compositeProcessor != null) {
for (MetadataProject pearProject : compositeProcessor.getPearProjects(getProject())) {
accessor = pearProject.getAccessor(getReferenceClassName());
if (accessor != null) {
referenceDescriptor = accessor.getDescriptor();
break;
}
}
}
}