public override SequenceRangeCollection MergeWith(SequenceRange newRange) { if (newRange.Lower == (this.range.Upper + 1L)) { return(new SequenceRangeCollection.SingleItemRangeCollection(this.range.Lower, newRange.Upper)); } if (this.range.Contains(newRange)) { return(this); } if (newRange.Contains(this.range)) { return(new SequenceRangeCollection.SingleItemRangeCollection(newRange)); } if (newRange.Upper == (this.range.Lower - 1L)) { return(new SequenceRangeCollection.SingleItemRangeCollection(newRange.Lower, this.range.Upper)); } SequenceRange[] sortedRanges = new SequenceRange[] { this.range }; return(SequenceRangeCollection.GeneralMerge(sortedRanges, newRange)); }
public override SequenceRangeCollection MergeWith(SequenceRange newRange) { return(SequenceRangeCollection.GeneralMerge(this.ranges, newRange)); }