BooleanGetter (@NotNull FoldedGroup group, final int index) { return () -> { if (!myEditors[index].getFoldingModel().isFoldingEnabled()) return false; for (FoldedBlock folding : group.blocks) { FoldRegion region = folding.getRegion(index); boolean visible = region != null && region.isValid() && !region.isExpanded(); if (folding == this) return visible; if (visible) return false; // do not paint separator, if 'parent' folding is collapsed } return false; }; }