private void updateOnSourceChange()

in src/org/jetbrains/tfsIntegration/ui/MergeBranchForm.java [273:308]


  private void updateOnSourceChange() {
    final Collection<Item> targetBranches = new ArrayList<>();
    try {
      final Collection<BranchRelative> allBranches =
        myWorkspace.getServer().getVCS()
          .queryBranches(mySourceField.getText(), LatestVersionSpec.INSTANCE, myProject, TFSBundle.message("loading.branches"));

      BranchRelative subject = null;
      for (BranchRelative branch : allBranches) {
        if (branch.getReqstd()) {
          subject = branch;
          break;
        }
      }

      for (BranchRelative branch : allBranches) {
        if ((branch.getRelfromid() == subject.getReltoid() || branch.getReltoid() == subject.getRelfromid()) &&
            branch.getBranchToItem().getDid() == Integer.MIN_VALUE) {
          targetBranches.add(branch.getBranchToItem());
        }
      }
    }
    catch (UserCancelledException e) {
      return;
    }
    catch (TfsException e) {
      Messages.showErrorDialog(myProject, e.getMessage(), myDialogTitle);
    }

    ((DefaultComboBoxModel)myTargetCombo.getModel()).removeAllElements();
    for (Item targetBranch : targetBranches) {
      ((DefaultComboBoxModel)myTargetCombo.getModel()).addElement(targetBranch);
    }
    mySelectRevisionForm.init(myProject, myWorkspace, mySourceField.getText(), mySourceIsDirectory);
    fireStateChanged();
  }