diff --git a/platform/platform-impl/src/com/intellij/ui/tree/ProjectFileTreeModel.java b/platform/platform-impl/src/com/intellij/ui/tree/ProjectFileTreeModel.java index 29c1ce2c9507..0efb605a8267 100644 --- a/platform/platform-impl/src/com/intellij/ui/tree/ProjectFileTreeModel.java +++ b/platform/platform-impl/src/com/intellij/ui/tree/ProjectFileTreeModel.java @@ -139,11 +139,8 @@ public final class ProjectFileTreeModel extends BaseTreeModel i ThreeState visibility = node.visibility; if (visibility == ThreeState.NO) return false; if (visibility == ThreeState.YES) return true; - boolean visible; - if (!node.file.isDirectory()) { - visible = filter.accept(node.file); - } - else { + boolean visible = filter.accept(node.file); + if (!visible && node.file.isDirectory()) { List children = node.getChildren(); visible = !children.stream().allMatch(child -> child.visibility == ThreeState.NO) && (children.stream().anyMatch(child -> child.visibility == ThreeState.YES) ||