Inner data attribute has an unknown type which can be a recursive reference. Therefore, the copy method should support recursive copy.