Walk the merged document.
For operations which are marked as no-bwc, reclassify breaking diffs as follows
- for each such diffs, create a copy, with type changed to risky,
- remove original diff from DIFF_META_KEY symbol
- add new diff to DIFF_META_KEY symbol instead
- the same diff could occur several times in the tree and each occurens should be replaced with the same instance of risky diff, so need to keep a map of original diffs to reclassified diffs and not create new if one was already created
Subtrees for operations which are not marked as no-bwc should be skipped.
Should reclassify before diff aggregation.
Add new tests:
- two operations (bwc and no-bwc) use the same schema, breaking change happens in the schema, check that there's both breaking and risky diff for corresponding operations
- the same schema used several times in a no-bwc operation, check that the same risky diff is used in each occurrence