Creates a deep copy of the given Operation.
Creates shallow copies of the non-Operation values.
A map of callback functions can be provided for individual Operation types
to specifically modify the given objects before triggering recursion.
The return value of those callbacks should indicate whether recursion should
be applied to this returned object or not.
Creates a deep copy of the given Operation. Creates shallow copies of the non-Operation values. A map of callback functions can be provided for individual Operation types to specifically modify the given objects before triggering recursion. The return value of those callbacks should indicate whether recursion should be applied to this returned object or not.