deepCopy method
https://stackoverflow.com/questions/64594543/how-to-deep-copy-nested-list-in-dart
so called shallow copy
Implementation
Map deepCopy() {
var newMap = {};
forEach((key, value) {
if (value is Map) {
newMap.addAll({key: value.deepCopy()});
} else if (value is List) {
newMap.addAll({key: value.deepCopy()});
} else if (value is Set) {
newMap.addAll({key: value.deepCopy()});
} else {
newMap.addAll({key: value});
}
});
return newMap;
}