'Append the value to our internal list.'

def Append(self, rdf_value=utils.NotAValue, wire_format=None, **kwargs):

    if (rdf_value is utils.NotAValue):
        if (wire_format is None):
            rdf_value = self.type_descriptor.type(**kwargs)
            self.dirty = True
        else:
            rdf_value = None
    else:
        try:
            rdf_value = self.type_descriptor.Validate(rdf_value, **kwargs)
        except (TypeError, ValueError) as e:
            raise type_info.TypeValueError(('Assignment    value    must    be    %s,    but    %s    can    not    be    coerced.    Error:    %s' % (self.type_descriptor.proto_type_name, type(rdf_value), e)))
    self.wrapped_list.append((rdf_value, wire_format))
    return rdf_value
