private async Task CloneCreateRepoAsync()
        {
            var projects = await GetProjectsAsync();

            if (!projects.Any())
            {
                return;
            }

            var result = CsrCloneWindow.PromptUser(projects);

            if (result == null)
            {
                return;
            }

            var repoItem = result.RepoItem;

            Repositories.Add(repoItem);

            // Created a new repo and cloned locally
            if (result.JustCreatedRepo)
            {
                var msg = String.Format(Resources.CsrCreateRepoNotificationFormat, repoItem.Name, repoItem.LocalPath);
                _teamExplorer.ShowMessage(msg,
                                          command: new ProtectedCommand(handler: () =>
                {
                    SetRepoActive(repoItem);
                    ShellUtils.LaunchCreateSolutionDialog(repoItem.LocalPath);
                    _teamExplorer.ShowHomeSection();
                }));
            }
            else
            {
                var msg = String.Format(Resources.CsrCloneRepoNotificationFormat, repoItem.Name, repoItem.LocalPath);
                _teamExplorer.ShowMessage(msg,
                                          command: new ProtectedCommand(handler: () =>
                {
                    SetRepoActive(repoItem);
                    _teamExplorer.ShowHomeSection();
                }));
            }
        }