I have derived an OutliningNodeDefinition class, say DerivedNodeDefinition.
In my outlining source (derived from RangeOutliningSourceBase), I have added a node with a new instance of DerivedNodeDefinition.
I have passed in data payload to each of the instance of DerivedNodeDefinition. This is to avoid having the DerivedNodeDefinition from parsing through the snapshot content in GetCollapsedContent .
When AddNode is requested at the same offset with the same DerivedNodeDefinition key (but with different data payload), the OutliningManager.Automatic.cs skipped the request to add the node if the key is already present. (See Line 111).
Furthermore, client is not allowed to remove node from IOutliningSource.
Is there a way to work around this? Is the check at line 111 necessary? Should the code at least update to the newer version of NodeDefinition?