@NotNull
  private static String getCanonicalPath(@NotNull VirtualFile base, @NotNull String relativePath) throws IOException {
    return toSystemIndependentName(new File(base.getPath(), relativePath).getCanonicalPath());
  }
@NotNull
  private static String getCanonicalPath(@NotNull VirtualFile base, @NotNull String relativePath)