public ITerminologyProvider[] Browse(IWin32Window owner, ITerminologyProviderCredentialStore credentialStore)
        {
            var result = new List <ITerminologyProvider>();

            try
            {
                var settingsDialog = new Settings();
                var dialogResult   = settingsDialog.ShowDialog();

                if (dialogResult == DialogResult.OK ||
                    dialogResult == DialogResult.Yes)
                {
                    var settings = settingsDialog.GetSettings();

                    var persistenceService = new PersistenceService();

                    var provider = new TerminologyProviderExcel(settings);
                    settings.Uri = provider.Uri;
                    persistenceService.AddSettings(settings);
                    var providerSettings  = persistenceService.Load(provider.Uri);
                    var termSearchService = new NormalTermSeachService(providerSettings);

                    var excelProvider = new TerminologyProviderExcel(providerSettings, termSearchService);

                    result.Add(excelProvider);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result.ToArray());
        }