copy method
Implementation
Data copy() {
dynamic v = _value;
if (_value is Map) {
v = (_value as Map).map<String, Data>((k, v) => MapEntry(k, v.copy()));
}
if (_value is List) v = _value.map((e) => e.copy()).toList();
return Data(v, exists: exists);
}