private WordPrediction CreatePrediction(Score score, bool isFirstWord)
        {
            WordPrediction prediction;

            var    token   = score.Token;
            var    index   = _source.GetTokenIndex(token);
            var    rawText = _tokens[token];
            string casedText;

            var isFollowOnFirstWord = false;

            if (isFirstWord)
            {
                casedText = _capitalizer(rawText);
                if (casedText == null)
                {
                    casedText = rawText;
                }
                else
                {
                    isFollowOnFirstWord = true;
                }
            }
            else
            {
                casedText = rawText;
            }

            Debug.Assert(string.Compare(rawText, casedText, StringComparison.OrdinalIgnoreCase) == 0);

            prediction = new WordPrediction(score, index, rawText, casedText, isFollowOnFirstWord);
            return(prediction);
        }