/// <summary>
        /// Assumes that the dataprovider has been connected to the given database.
        /// </summary>
        /// <param name="pokerStatisticsApplication"></param>
        /// <param name="databaseName"></param>
        /// <param name="dataProvider"></param>
        /// <returns></returns>
        public IDatabaseImporter ImportFrom(PokerStatisticsApplications pokerStatisticsApplication, string databaseName, IDataProvider dataProvider)
        {
            _databaseName = databaseName;

            IsBusy = true;

            switch (pokerStatisticsApplication)
            {
            case PokerStatisticsApplications.PokerTell:
                ImportHandHistoriesUsing(_pokerTellHandHistoryRetriever.Using(dataProvider));
                break;

            case PokerStatisticsApplications.PokerOffice:
                ImportHandHistoriesUsing(_pokerOfficeHandHistoryRetriever.Using(dataProvider));
                break;

            case PokerStatisticsApplications.PokerTracker:
                ImportHandHistoriesUsing(_pokerTrackerHandHistoryRetriever.Using(dataProvider));
                break;
            }

            return(this);
        }