private Word CreateWordFromIdentifiedTag(Tag tag) { TagWithWord tagWithWord = _tagsWithWordsToReuse.SingleOrDefault( tww => tww.Tag.Identifier == tag.Identifier); Word word; if (tagWithWord != null) { word = tagWithWord.Word; } else { word = WordProvider.GetNewWord(tag); _tagsWithWordsToReuse.Add( new TagWithWord( formatString: (wordToFormat, tagString) => _stringFormatter.FormatString(wordToFormat, tagString), tag: tag, word: word)); } return(word); }
private Word Word(TagWithWord tagWithWord) => tagWithWord.Word;