'Efficiently copy from other into this object.
Basic RDFStruct objects are fully represented by their internal raw data. We
can easily copy it by simply making a direct copy of the wire format of each
field, and not preserving the python format. On access in the copy the field
will be re-parsed into a python object.
Args:
other: An instance of the same type of this class.'

def CopyConstructor(self, other):

    self._data = {}
    for (name, (obj, serialized, t_info)) in other.GetRawData().iteritems():
        if (serialized is None):
            serialized = t_info.ConvertToWireFormat(obj)
        self._data[name] = (None, serialized, t_info)
