VirtualFile (@NotNull Project project, final @Nullable VirtualFile file) { final VirtualFile[] contentRoots = ProjectRootManager.getInstance(project).getContentRoots(); if (file == null && contentRoots.length > 0) { return contentRoots[0]; } if (file != null) { for (VirtualFile contentRoot : contentRoots) { if (VfsUtilCore.isAncestor(contentRoot, file, false)) { return contentRoot; } } } return project.getBaseDir(); }