void () { 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); }