A site-selection method that spreads to neighboring stands based on their rankings.
        //---------------------------------------------------------------------

        public RepeatHarvest(string               name,
                             IStandRankingMethod  rankingMethod,
                             ISiteSelector        siteSelector,
                             ICohortSelector      cohortSelector,
                             Planting.SpeciesList speciesToPlant,
                             int                  interval)
            : base(name, rankingMethod, siteSelector, cohortSelector, speciesToPlant)
        {
            this.interval = interval;
            this.spreadingSiteSelector = siteSelector as StandSpreading;
            this.harvestedStands = new List<Stand>();
        }
        //---------------------------------------------------------------------

        public AppliedPrescription(Prescription prescription,
                                   Percentage   percentageToHarvest,
                                   int          beginTime,
                                   int          endTime)
        {
            //set prescription
            this.prescription = prescription;
            //set stand ranking method
            this.standSpreadSiteSelector = prescription.SiteSelectionMethod as StandSpreading;
            //set harvest percentage
            this.percentageToHarvest = percentageToHarvest;
            //set begin time and end time
            this.beginTime = beginTime;
            this.endTime = endTime;
        }
        //---------------------------------------------------------------------

        public AppliedPrescription(Prescription   prescription,
                                   ManagementArea managementArea,
                                   Percentage     percentageToHarvest,
                                   int            beginTime,
                                   int            endTime)
        {
            this.prescription = prescription;
            this.standSpreadSiteSelector = prescription.SiteSelectionMethod as StandSpreading;
            this.percentageToHarvest = percentageToHarvest;
            this.areaToHarvest = managementArea.Area * percentageToHarvest;
            this.beginTime = beginTime;
            this.endTime = endTime;
        }