diff --git a/java/java-impl/src/com/intellij/ide/projectView/impl/ClassesTreeStructureProvider.java b/java/java-impl/src/com/intellij/ide/projectView/impl/ClassesTreeStructureProvider.java index b650de7efd09..741ea5232ff3 100644 --- a/java/java-impl/src/com/intellij/ide/projectView/impl/ClassesTreeStructureProvider.java +++ b/java/java-impl/src/com/intellij/ide/projectView/impl/ClassesTreeStructureProvider.java @@ -35,13 +35,15 @@ public class ClassesTreeStructureProvider implements SelectableTreeStructureProv final PsiClassOwner classOwner = (PsiClassOwner)o; PsiClass[] classes = classOwner.getClasses(); final VirtualFile file = classOwner.getVirtualFile(); - if (classes.length == 1 && !(classes[0] instanceof SyntheticElement) && file != null && + if (file != null && (index.isInSourceContent(file) || index.isInLibraryClasses(file) || index.isInLibrarySource(file))) { - result.add(new ClassTreeNode(myProject, classes[0], settings1)); - } else { - result.add(new PsiClassOwnerTreeNode(classOwner, settings1)); + if (classes.length == 1 && !(classes[0] instanceof SyntheticElement)) { + result.add(new ClassTreeNode(myProject, classes[0], settings1)); + } else { + result.add(new PsiClassOwnerTreeNode(classOwner, settings1)); + } + continue; } - continue; } result.add(child); }