public abstract bool TryMerge(TextUndoMetadata previousMetadata);
public override bool TryMerge(TextUndoMetadata previousMetadata) { var previousSelection = previousMetadata as SelectionUndoMetadata; if (previousSelection == null) { // Can't merge -- previous metadata must be one of us return false; } // Merge is simple -- just carry along the original OldSelection value this.OldSelection = previousSelection.OldSelection; return true; }