public RaiseReactionStatisticsBuilder(
     IRaiseReactionStatistics raiseReactionStatistics,
     IRaiseReactionsAnalyzer raiseReactionsAnalyzer,
     IConstructor <IRaiseReactionAnalyzer> raiseReactionAnalyzerMake)
 {
     _raiseReactionAnalyzerMake = raiseReactionAnalyzerMake;
     _raiseReactionsAnalyzer    = raiseReactionsAnalyzer;
     _raiseReactionStatistics   = raiseReactionStatistics;
 }
        public IRaiseReactionStatistics InitializeWith(IRaiseReactionsAnalyzer raiseReactionsAnalyzer)
        {
            _raiseReactionsAnalyzer = raiseReactionsAnalyzer;

            if (raiseReactionsAnalyzer.RaiseSizeKeys.Length < 1)
            {
                throw new ArgumentException("ReactionsAnalyzer needs to have at least one raise size");
            }

            CreateAnalyzablePlayersDictionary();

            CreatePercentagesDictionary();

            PopulateAnalyzablePlayersDictionary();

            CalculateCounts();

            CalculatePercentages();

            return(this);
        }