Mongo ChangeStream & changeStreamSplitLargeEvent in golang example

Issue: We use changestream using resumeToken, using watch command on an entire shard. when stream.next is called, sometimes, we get the error, (BSONObjectTooLarge) BSONObj size: 21353584 (0x145D470) is invalid. Size must be between 0 and 16793600(16MB)

Fix: We are trying to use this changeStreamSplitLargeEvent feature in 6.0.9 .

Problem: Lack of clear documentation for client implementation details and details on performance impact.

  1. Documentation is not clear on how to properly implement this in golang or any other langugage. Can you please provide golang example with changeStreamSplitLargeEvent
  2. How does the code look when there are multiple parts of a chunk vs single chunk?
  3. Are there any performance impact due to using this especially when 99.9% of our doc will be within 16MB. https://www.mongodb.com/docs/manual/reference/operator/aggregation/changeStreamSplitLargeEvent/