public PromptBuilder ToPromptBuilder(String defaultVoice) { PromptBuilder builder = new PromptBuilder(CultureUtil.GetOriginalCulture()); builder.StartVoice(defaultVoice); var tags = GetTagsInText(); int startIndex = 0; foreach (ITag tag in tags) { String textBeforeCurrentTag = _contents.Substring(startIndex, tag.Start - startIndex); builder.AppendText(textBeforeCurrentTag); bool isCommandSuccessful = tag.Apply(builder); if (isCommandSuccessful) { startIndex = tag.End + 1; } } String remaining = _contents.Substring(startIndex).Trim(); builder.AppendText(remaining); builder.EndVoice(); return(builder); }