@ApiStatus.Experimental
  public static boolean isCaseSensitiveFS(@NotNull Project project) {
    CompilerReferenceServiceBase.FsCompilerReferenceType fsCompilerReferenceType =  FsCompilerReferenceType.from(
      Registry.stringValue("java.jps.backward.ref.index.builder.fs.case.sensitive"));
    switch (fsCompilerReferenceType) {
      case SENSITIVE -> {
        return true;
      }
      case INSENSITIVE -> {
        return false;
      }
      case BY_OS -> {
        return SystemInfo.isFileSystemCaseSensitive;
      }
      case BY_ROOT -> {
        VirtualFile guessedProjectDir = ProjectUtil.guessProjectDir(project);
        String basePath = guessedProjectDir == null ? project.getBasePath() : guessedProjectDir.getCanonicalPath();
        if (basePath != null) {
          File file = new File(basePath);
          FileAttributes.CaseSensitivity sensitivity = FileSystemUtil.readParentCaseSensitivity(file);
          return switch (sensitivity) {
            case UNKNOWN -> SystemInfo.isFileSystemCaseSensitive;
            case SENSITIVE -> true;
            case INSENSITIVE -> false;
          };
        }
      }
    }
    return SystemInfo.isFileSystemCaseSensitive;
  }
@ApiStatus.Experimental
  public static boolean isCaseSensitiveFS(@NotNull Project project)