CellAppearanceEx (@NotNull final ContentFolder folder, @NotNull final Icon icon) { LightFilePointer folderFile = new LightFilePointer(folder.getUrl()); VirtualFile file = VirtualFileManager.getInstance().findFileByUrl(folder.getContentEntry().getUrl()); if (file == null) return FileAppearanceService.getInstance().forInvalidUrl(folderFile.getPresentableUrl()); String contentPath = file.getPath(); String relativePath; SimpleTextAttributes textAttributes; VirtualFile folderFileFile = folderFile.getFile(); if (folderFileFile == null) { String absolutePath = folderFile.getPresentableUrl(); relativePath = absolutePath.startsWith(contentPath) ? absolutePath.substring(contentPath.length()) : absolutePath; textAttributes = SimpleTextAttributes.ERROR_ATTRIBUTES; } else { relativePath = VfsUtilCore.getRelativePath(folderFileFile, file, File.separatorChar); textAttributes = SimpleTextAttributes.REGULAR_ATTRIBUTES; } relativePath = StringUtil.isEmpty(relativePath) ? "." + File.separatorChar : relativePath; return new SimpleTextCellAppearance(relativePath, icon, textAttributes); }