ATEAM-814: Shallow Decoration Fix, master branch (2022.02.21.)
Made sure that "decorating" an existing variable on a shallow copy would preserve its original contents.
This is to fix ATEAM-814. A case where a variable would be modified on a shallow copy using a decorator.
At the same time added an additional safe-guard to getData(...)
and getDecoration(...)
against inadvertently overwriting a variable in the shallow copy after it was set up correctly already.
I updated the class's unit test, to explicitly test what happens when only overriding certain elements of an already existing variable.
The change itself is "cache friendly" (in case anybody remembers this expression