Simple way to quickly implement a custom deep cloning solution, with minimal impact to the project and the possibility to apply user defined logic the update required properties of the clones.
Primitives will remain the same
Allows for easy customization of the update logic either by creating new UpdateSpecifications, or rewriting the update functions.
Originally the update method only worked for strings, I refactored in the UpdateSpecifications to allow to update any non-primitive type
Licenced via MIT licence