Used as a base for all kinds of word seekers for a chain.
 /// <summary>
 /// Initializes a new instance of the <see cref="AlgorithmBase"/> class.
 /// </summary>
 /// <param name="parameters">
 /// The parameters.
 /// </param>
 public AlgorithmBase(Input parameters)
     : base(parameters)
 {
     threshold = ThresholdFactory.Make(parameters.ThresholdMethod, parameters);
     criterion = CriterionFactory.Make(parameters.StopCriterion, threshold, parameters);
     extractor = WordExtractorFactory.GetSeeker(parameters.Seeker);
     balance = parameters.Balance;
     windowLen = parameters.WindowLength;
     windowDec = parameters.WindowDecrement;
 }
        /// <summary>
        /// The get seeker.
        /// </summary>
        /// <param name="other">
        /// The other word extractor.
        /// </param>
        /// <returns>
        /// The <see cref="WordExtractor"/>.
        /// </returns>
        public static WordExtractor GetSeeker(WordExtractor other)
        {
            if (other is ProbabilityExtractor)
            {
                return GetSeeker(0);
            }

            if (other is DifferenceAverageIntervalExtractor)
            {
                return GetSeeker(1);
            }

            return null;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="SimpleChainSplitter"/> class.
 /// </summary>
 /// <param name="extractor">
 /// The extractor.
 /// </param>
 public SimpleChainSplitter(WordExtractor extractor)
 {
     this.extractor = extractor;
 }