ItemPresentation (@NotNull final PsiDirectory directory) { final VirtualFile vFile = directory.getVirtualFile(); final Project project = directory.getProject(); final String locationString = vFile.getPath(); if (ProjectRootsUtil.isProjectHome(directory)) { final Icon projectIcon = ProductIcons.getInstance().getProjectNodeIcon(); return new PresentationData(project.getName(), locationString, projectIcon, null); } if (ProjectRootsUtil.isModuleContentRoot(directory)) { final Module module = ProjectRootManager.getInstance(project).getFileIndex().getModuleForFile(vFile); assert module != null : directory; return new PresentationData(module.getName(), locationString, PlatformIcons.CONTENT_ROOT_ICON_CLOSED, null); } if (ProjectRootsUtil.isSourceRoot(directory)) { SourceFolder sourceRoot = ProjectRootsUtil.getModuleSourceRoot(vFile, project); if (sourceRoot != null) { Icon icon = SourceRootPresentation.getSourceRootIcon(sourceRoot); return new PresentationData(directory.getName(), locationString, icon, null); } } return new PresentationData(directory.getName(), locationString, PlatformIcons.FOLDER_ICON, null); }