def __deepcopy__(self, memo=None):
obj = self.__class__(**self._cfg)<EOL>for k, v in self.__dict__.items():<EOL><INDENT>if k.endswith(('<STR_LIT>', '<STR_LIT>', '<STR_LIT>')):<EOL><INDENT>obj.__dict__[k] = v<EOL><DEDENT>elif k == '<STR_LIT>':<EOL><INDENT>obj._cfg = v.copy()<EOL><DEDENT>else:<EOL><INDENT>obj.__dict__[k] = copy.deepcopy(v, memo)<EOL><DEDENT><DEDENT>obj.is_clone = True<EOL>return obj<EOL>
A deep copy method that doesn't populate caches
and shares Riak client and bucket