'Do validation of sequence.
Value must be a list and all elements must be of type \'constructor\'.
Args:
value: Value to validate.
key: Name of the field being validated.
Raises:
ValidationError: if value is None, not a list or one of its elements is
the wrong type.'

def Validate(self, value, key):

    if (not isinstance(value, list)):
        raise ValidationError(("Value    '%s'    for    %s    should    be    a    sequence    but    is    not." % (value, key)))
    for item in value:
        if isinstance(self.constructor, Validator):
            item = self.constructor.Validate(item, key)
        elif (not isinstance(item, self.constructor)):
            raise ValidationError(("Value    element    '%s'    for    %s    must    be    type    %s." % (str(item), key, self.constructor.__name__)))
    return value
