public IEnumerable <ISegment> GetDeletableSegments(ISegment segment)
        {
            if (startAnchor == null)
            {
                yield return(segment);

                yield break;
            }

            if (segment.EndOffset <= startAnchor.Offset || segment.Offset >= endAnchor.Offset)
            {
                yield break;
            }

            var range = new LineRange {
                start = Math.Max(segment.Offset, startAnchor.Offset),
                end   = Math.Min(segment.EndOffset, endAnchor.Offset)
            };

            yield return(range.SimpleSegment());
        }