/** @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;
 }