public IDetailedStatisticsAnalyzerViewModel InitializeWith(IEnumerable <IAnalyzablePokerPlayer> analyzablePokerPlayers, string playerName)
        {
            ViewModelHistory.Clear();

            _selectedPlayerHandsBrowser.InitializeWith(analyzablePokerPlayers, playerName);
            AddViewModel(_selectedPlayerHandsBrowser);

            return(this);
        }
        public IDetailedStatisticsAnalyzerViewModel InitializeWith(IActionSequenceStatisticsSet actionSequenceStatisticsSet)
        {
            ViewModelHistory.Clear();

            Predicate <IActionSequenceStatisticsSet> isPreflop   = s => s.Street == Streets.PreFlop;
            Predicate <IActionSequenceStatisticsSet> isHeroActs  = s => s.ActionSequence == ActionSequences.HeroActs;
            Predicate <IActionSequenceStatisticsSet> isOppB      = s => s.ActionSequence == ActionSequences.OppB;
            Predicate <IActionSequenceStatisticsSet> isHeroXOppB = s => s.ActionSequence == ActionSequences.HeroXOppB;

            IDetailedStatisticsViewModel detailedStatisticsViewModel = null;

            actionSequenceStatisticsSet.Match()
            .With(isPreflop, _ => detailedStatisticsViewModel   = _detailedPreFlopStatisticsViewModelMake.New)
            .With(isHeroActs, _ => detailedStatisticsViewModel  = _detailedPostFlopActionStatisticsViewModelMake.New)
            .With(isOppB, _ => detailedStatisticsViewModel      = _detailedPostFlopReactionStatisticsViewModelMake.New)
            .With(isHeroXOppB, _ => detailedStatisticsViewModel = _detailedPostFlopReactionStatisticsViewModelMake.New)
            .Do();

            AddViewModel(detailedStatisticsViewModel);
            detailedStatisticsViewModel.InitializeWith(actionSequenceStatisticsSet);

            return(this);
        }