@NotNull
  public static @NlsSafe String getPresentablePath(@Nullable Project project,
                                                   @NotNull FilePath filePath,
                                                   boolean useRelativeRootPaths,
                                                   boolean acceptEmptyPath) {
    String projectDir = project != null ? project.getBasePath() : null;
    if (projectDir != null) {
      if (useRelativeRootPaths) {
        String relativePath = getRootRelativePath(project, projectDir, filePath, acceptEmptyPath);
        if (relativePath != null) return toSystemDependentName(relativePath);
      }

      String path = filePath.getPath();
      String relativePath = getRelativePathIfSuccessor(projectDir, path);
      if (relativePath != null) {
        return toSystemDependentName(VcsBundle.message("label.relative.project.path.presentation", relativePath));
      }
    }

    return FileUtil.getLocationRelativeToUserHome(toSystemDependentName(filePath.getPath()));
  }
@NotNull
  public static @NlsSafe String getPresentablePath(@Nullable Project project,
                                                   @NotNull FilePath filePath,
                                                   boolean useRelativeRootPaths,
                                                   boolean acceptEmptyPath)