@Nullable
  private static String getNewBaseRelativePath(@NotNull VirtualFile newBase,
                                               @NotNull VirtualFile oldBase,
                                               @Nullable String oldBaseRelativePath) throws IOException {
    return !isEmptyOrSpaces(oldBaseRelativePath)
           ? getRelativePath(newBase.getPath(), getCanonicalPath(oldBase, oldBaseRelativePath), '/')
           : oldBaseRelativePath;
  }
@Nullable
  private static String getNewBaseRelativePath(@NotNull VirtualFile newBase,
                                               @NotNull VirtualFile oldBase,
                                               @Nullable String oldBaseRelativePath)