private void LaunchFilterTextsDialog(object sender, EventArgs args)
		{
			IFilterTextsDialog<IStText> dlg = null;
			try
			{
				var interestingTextsList = InterestingTextsDecorator.GetInterestingTextList(m_mediator, m_cache.ServiceLocator);
				var textsToChooseFrom = new List<IStText>(interestingTextsList.InterestingTexts);
				if (!FwUtils.IsOkToDisplayScriptureIfPresent)
				{   // Mustn't show any Scripture, so remove scripture from the list
					textsToChooseFrom = textsToChooseFrom.Where(text => !ScriptureServices.ScriptureIsResponsibleFor(text)).ToList();
				}
				var interestingTexts = textsToChooseFrom.ToArray();
				if (FwUtils.IsOkToDisplayScriptureIfPresent)
					dlg = new FilterTextsDialogTE(m_cache, interestingTexts, m_mediator.HelpTopicProvider, m_bookImporter);
				else
					dlg = new FilterTextsDialog(m_cache, interestingTexts, m_mediator.HelpTopicProvider);
				// LT-12181: Was 'PruneToSelectedTexts(text) and most others were deleted.
				// We want 'PruneToInterestingTextsAndSelect(interestingTexts, selectedText)'
				dlg.PruneToInterestingTextsAndSelect(interestingTexts, (IStText)m_objRoot);
				dlg.TreeViewLabel = ITextStrings.ksSelectSectionsExported;
				if (dlg.ShowDialog(this) == DialogResult.OK)
					m_objs.AddRange(dlg.GetListOfIncludedTexts());
			}
			finally
			{
				if (dlg != null)
					((IDisposable)dlg).Dispose();
			}
		}