@Nullable
  private static SelectLocationDialog openDialog(Project project,
                                                 @NotNull Url url,
                                                 @NlsContexts.Label @Nullable String dstLabel,
                                                 String dstName,
                                                 boolean showFiles,
                                                 @NlsContexts.DialogMessage @Nullable String errorMessage) {
    try {
      final Url repositoryUrl = initRoot(project, url);
      if (repositoryUrl == null) {
        Messages.showErrorDialog(project, message("dialog.message.can.not.detect.repository.root.for.url", url),
                                 message("dialog.title.select.repository.location"));
        return null;
      }
      SelectLocationDialog dialog = new SelectLocationDialog(project, repositoryUrl, dstLabel, dstName, showFiles, false);
      dialog.show();
      return dialog;
    }
    catch (SvnBindException e) {
      Messages.showErrorDialog(project, errorMessage != null ? errorMessage : e.getMessage(),
                               message("dialog.title.select.repository.location"));
      return null;
    }
  }
@Nullable
  private static SelectLocationDialog openDialog(Project project,
                                                 @NotNull Url url,
                                                 @NlsContexts.Label @Nullable String dstLabel,
                                                 String dstName,
                                                 boolean showFiles,
                                                 @NlsContexts.DialogMessage @Nullable String errorMessage)