@NotNull
  @Override
  public String getPresentableRelativePathFor(final VirtualFile file) {
    if (file == null) return "";
    return ReadAction.compute(() -> {
      if (myProject.isDisposed()) return file.getPresentableUrl();
      boolean hideExcludedFiles = Registry.is("ide.hide.excluded.files");
      ProjectFileIndex fileIndex = ProjectRootManager.getInstance(myProject).getFileIndex();

      Module module = fileIndex.getModuleForFile(file, hideExcludedFiles);
      VirtualFile contentRoot = fileIndex.getContentRootForFile(file, hideExcludedFiles);
      if (module == null || contentRoot == null) return file.getPresentableUrl();

      String relativePath = VfsUtilCore.getRelativePath(file, contentRoot, File.separatorChar);
      assert relativePath != null;

      return getPresentableRelativePathFor(module, contentRoot, relativePath);
    });
  }
@NotNull
  @Override
  public String getPresentableRelativePathFor(final VirtualFile file)