'Validate property.
Returns:
A valid value.
Raises:
BadValueError if property is not an instance of data_type.'

def validate(self, value):

    if ((value is not None) and (not isinstance(value, self.data_type))):
        try:
            value = self.data_type(value)
        except TypeError as err:
            raise BadValueError(('Property    %s    must    be    convertible    to    a    %s    instance    (%s)' % (self.name, self.data_type.__name__, err)))
    value = super(UnindexedProperty, self).validate(value)
    if ((value is not None) and (not isinstance(value, self.data_type))):
        raise BadValueError(('Property    %s    must    be    a    %s    instance' % (self.name, self.data_type.__name__)))
    return value
