private void chooseBranch() {
    if (mySourceUrl == null) {
      myBranchField.setEnabled(false);
      return;
    }
    SelectBranchPopup.show(myVcs.getProject(), myRoot.getVirtualFile(), (project, configuration, url, revision) -> {
      // TODO: It seems that we could reuse configuration passed as parameter to this callback
      SvnBranchConfigurationNew branchConfiguration = getBranchConfiguration();
      String branchRelativeUrl = branchConfiguration != null ? branchConfiguration.getRelativeUrl(mySourceUrl) : null;

      if (mySourceUrl == null || branchRelativeUrl == null) {
        myBranchField.setText("");
      }
      else {
        try {
          myURLText.setText(url.appendPath(branchRelativeUrl, false).toDecodedString());
        }
        catch (SvnBindException e) {
          LOG.error(e);
        }
        myBranchField.setText(url.getTail());
      }
    }, message("popup.title.select.branch"), myPanel);
  }
private void chooseBranch()