void (@NotNull JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { if (value instanceof MyFileNode) { final VirtualFile file = ((MyFileNode)value).getUserObject(); final Module module = ModuleUtil.findModuleForFile(file, myProject); if (module != null) { setIcon(PlatformIcons.CONTENT_ROOT_ICON_CLOSED); SearchUtil.appendFragments(mySpeedSearch.getEnteredPrefix(), "[" + module.getName() + "] ", SimpleTextAttributes.STYLE_BOLD, UIUtil.getTreeForeground(), UIUtil.getTreeBackground(), this); } SearchUtil.appendFragments(mySpeedSearch.getEnteredPrefix(), getRelativePathToProject(myProject, file), SimpleTextAttributes.STYLE_PLAIN, UIUtil.getTreeForeground(), UIUtil.getTreeBackground(), this); } else if (value instanceof MyDuplicatesNode) { final Set<VirtualFile> files = ((MyDuplicatesNode)value).getUserObject(); for (VirtualFile file : files) { final Module module = ModuleUtil.findModuleForFile(file, myProject); if (module != null && myResourceModules.contains(module)) { append("Icons can be replaced to "); append(getRelativePathToProject(myProject, file), new SimpleTextAttributes(SimpleTextAttributes.STYLE_BOLD, ColorUtil.fromHex("008000"))); return; } } append("Icon conflict"); } else if (value instanceof MyRootNode) { append("All conflicts"); } }