private bool IsChronoboostPossibleWhileBuilding(int buildTime, BuildItemStatistics stats, out int secondsToPossibleChronoboost)
        {
            var castModule = this.BuildManagerConfiguration.BuildManagerModules.First(p => p is CastModule);

            var tempStats = new BuildItemStatistics(this.BuildManagerConfiguration.RaceConstants, stats.CloneItemsCountDictionary());

            for (int i = 0; i < buildTime; i++)
            {
                castModule.AdjustModuleStatsForStep(tempStats);

                if (tempStats.GetStatValueByName(CastModule.TotalCasts) > 0)
                {
                    secondsToPossibleChronoboost = i;
                    return(true);
                }
            }

            secondsToPossibleChronoboost = 0;
            return(false);
        }