//---------------------------------------------------------------------

        /// <summary>
        /// Creates a new instance.
        /// </summary>
        public PartialCohortCutter(Landis.Library.SiteHarvest.ICohortSelector cohortSelector,
                                   PartialCohortSelectors                     partialCohortSelectors,
                                   ExtensionType                              extensionType)
            : base(cohortSelector, extensionType)
        {
            this.partialCohortSelectors = new PartialCohortSelectors(partialCohortSelectors);
        }
        //---------------------------------------------------------------------
        static PartialThinning()
        {
            // Force the harvest library to register its read method for age
            // ranges.  Then replace it with this project's read method that
            // handles percentages for partial thinning.
            AgeRangeParsing.InitializeClass();
            InputValues.Register<AgeRange>(PartialThinning.ReadAgeOrRange);

            percentages = new Dictionary<ushort, Percentage>();
            CohortSelectors = new PartialCohortSelectors();
        }
        //---------------------------------------------------------------------

        public BiomassCohortHarvest(ICohortSelector wholeCohortSelector,
                                    PartialCohortSelectors partialCohortSelectors)
            : base(wholeCohortSelector)
        {
            this.partialCohortSelectors = new PartialCohortSelectors(partialCohortSelectors);
        }
        //---------------------------------------------------------------------

        public RemoveTreesWithPartialHarvest(Landis.Library.Harvest.ICohortSelector cohortSelector,
                                             PartialCohortSelectors                 partialCohortSelectors)
            : base(cohortSelector, partialCohortSelectors)
        {
            base.Type = Main.ExtType;
        }