def wrap(self, value):
        ''' Validate and then wrap ``value`` for insertion.

            :param value: the tuple (or list) to wrap
        '''
        self.validate_wrap(value)
        ret = []
        for field, value in izip(self.types, value):
            ret.append(field.wrap(value))
        return ret