public List<SentenceScore> ScoreSentences(List<Sentence> Sentences, List<TextUnitScore> importantTextUnits)
        {
            var stemList = importantTextUnits.Select(tus => tus.ScoredTextUnit.Stem).Distinct().ToList();
            var listSentenceScorer = new List<SentenceScore>();
            foreach (var s in Sentences.Where(s => s.TextUnits.Count > 2))
            {
                var newSentenceScorer = new SentenceScore {ScoredSentence = s};
                newSentenceScorer.Score =
                    newSentenceScorer.ScoredSentence.TextUnits.Count(tu => stemList.Contains(tu.Stem));

                if (s.TextUnits[0].RawValue.Contains("\n") && s.TextUnits[1].RawValue.Contains("\n"))
                {
                    newSentenceScorer.Score *= 1.6;
                }

                listSentenceScorer.Add(newSentenceScorer);
            }

            // additional scoring
            if (listSentenceScorer.Any())
            {
                listSentenceScorer.First().Score *= 2;
            }

            return listSentenceScorer.OrderByDescending(ss => ss.Score).ToList();
        }
        public List <SentenceScore> ScoreSentences(List <Sentence> Sentences, List <TextUnitScore> importantTextUnits)
        {
            var stemList           = importantTextUnits.Select(tus => tus.ScoredTextUnit.Stem).Distinct().ToList();
            var listSentenceScorer = new List <SentenceScore>();

            foreach (var s in Sentences.Where(s => s.TextUnits.Count > 2))
            {
                var newSentenceScorer = new SentenceScore();
                newSentenceScorer.ScoredSentence = s;
                newSentenceScorer.Score          = newSentenceScorer.ScoredSentence.TextUnits.Count(tu => stemList.Contains(tu.Stem));

                if (s.TextUnits[0].RawValue.Contains("\n") && s.TextUnits[1].RawValue.Contains("\n"))
                {
                    newSentenceScorer.Score *= 1.6;
                }

                listSentenceScorer.Add(newSentenceScorer);
            }

            // additional scoring
            if (listSentenceScorer.Any())
            {
                listSentenceScorer.First().Score *= 2;
            }

            return(listSentenceScorer.OrderByDescending(ss => ss.Score).ToList());
        }