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()); }