/** @return create dialog result object basing on the dialog state */ private Result createResult() { Result rc = new Result(); String name = myNameTextField.getText().trim(); if (myTarget == null) { rc.target = myConfig.createConfiguration(name); } else { rc.target = myTarget; rc.target.setName(name); } rc.changes = new ArrayList<Change>(myChangesTree.getIncludedChanges()); for (BranchDescriptor d : myBranches) { if (d.root != null) { if (!StringUtil.isEmpty(d.newBranchName)) { final String ref = d.referenceToCheckout.trim(); rc.referencesToUse.put(d.root, Pair.create(ref, d.referencesToSelect.contains(ref))); rc.target.setReference(d.root.getPath(), d.newBranchName.trim()); rc.checkoutNeeded.add(d.root); } else { String ref = d.referenceToCheckout.trim(); if (!d.referencesToSelect.contains(ref)) { ref = myConfig.detectTag(d.root, ref); } rc.target.setReference(d.root.getPath(), ref); if (!d.referenceToCheckout.equals(d.currentReference)) { rc.checkoutNeeded.add(d.root); } } } } return rc; }