private async Task <DialogTurnResult> OwnerPhase2Async(WaterfallStepContext stepContext, CancellationToken cancellationToken)
        {
            var createIdeaOptions = (CreateIdeaOptions)stepContext.Options;

            if (createIdeaOptions.Owner != null)
            {
                return(await stepContext.NextAsync(createIdeaOptions.Owner, cancellationToken));
            }

            var tokenResponse = (TokenResponse)stepContext.Result;

            if (tokenResponse?.Token == null)
            {
                await stepContext.Context.SendActivityAsync(MessageFactory.Text("Login was not successful please try again."), cancellationToken);

                return(await stepContext.ReplaceDialogAsync(nameof(WaterfallDialog), createIdeaOptions, cancellationToken));
            }

            var userProfile = await UserProfileAccessor.GetAsync(stepContext.Context);

            var service = new TeamsService(tokenResponse.Token);
            var members = await service.GetTeamMembersAsync(userProfile.SelectedTeam.Id);

            stepContext.Values["members"] = members;

            var promptOptions = new PromptOptions
            {
                Prompt  = MessageFactory.Text("Thanks. Please identify the idea owner."),
                Choices = members.Select(i => new Choice(i.DisplayName)).ToArray(),
                Style   = ListStyle.HeroCard
            };

            return(await stepContext.PromptAsync(nameof(ChoicePrompt), promptOptions, cancellationToken));
        }