public NormalizedFinding(ITextRange text, int findingIndex, int findingLength) { _text = text; _findingIndex = findingIndex; _findingLength = findingLength; _context = new CachedValue <ITextRange>(() => _text.Substring(0, _text.Length)); _result = new CachedValue <ITextRange>(() => _text.Substring(_findingIndex - _text.Offset, _findingLength)); }