Icon (final ContentEntry entry, final VirtualFile file, final Icon originalIcon) { for (PyRootTypeProvider provider : myRootTypeProviders) { if (provider.hasRoot(file, PyContentEntriesEditor.this)) { return provider.getIcon(); } } // JavaModuleSourceRootEditHandler gives every directory under a source root a package icon. // Since we use the same icon for explicit namespace package "roots", we forcibly replace icons // for other "false" packages with the one for a plain directory to avoid confusion. Icon defaultIcon = super.updateIcon(entry, file, originalIcon); if (defaultIcon == AllIcons.Nodes.Package) { return PlatformIcons.FOLDER_ICON; } return defaultIcon; }