internal static List<ChangeInfo> GetChangesToFocus(
            PendingChangesTreeView treeView)
        {
            List<ChangeInfo> selectedChanges = treeView.GetSelectedChanges(true);

            if (selectedChanges.Count == 0)
                return selectedChanges;

            List<ChangeInfo> changesToFocus =
                selectedChanges.Where(change => !IsAddedFile(change)).ToList();

            if (changesToFocus.Count() == 0)
            {
                ChangeInfo nearestAddedChange = treeView.GetNearestAddedChange();
                if (nearestAddedChange != null)
                    changesToFocus.Add(nearestAddedChange);
            }

            return changesToFocus;
        }
 internal static List<string> GetSelectedPaths(
     PendingChangesTreeView treeView)
 {
     return treeView.GetSelectedChanges(true)
         .Select(change => change.GetFullPath()).ToList();
 }
 internal static List<ChangeInfo> GetSelectedChanges(
     PendingChangesTreeView treeView)
 {
     return treeView.GetSelectedChanges(true);
 }