/**
         * @method Project the future for a ticket scenario.
         * @param scenario - The scenario to project into the future.
         * @returns An object that represents the projected outcome for future years if the given ticketing scenario is implemented.
         */
        public ProjectedFuture Project(ProjectionScenario scenario)
        {
            // Create the object to contain our answer.
            ProjectedFuture future = new ProjectedFuture(_configuration);

            // Base these results on the highest year in our application.
            string highestYearNumber = _configuration.GetHighestYearNumber();

            // Determine outcomes.
            DetermineOutcome(highestYearNumber, future.IfApplied, scenario);
            DetermineOutcome(highestYearNumber, future.IfNotApplied, null);

            // We are done computing.  Return the result.
            return(future);
        }