'Constructor for Validated classes.
This constructor can optionally assign values to the class via its
keyword arguments.
Raises:
AttributeDefinitionError: when class instance is missing ATTRIBUTE
definition or when ATTRIBUTE is of the wrong type.'

def __init__(self, **attributes):

    if (not isinstance(self.ATTRIBUTES, dict)):
        raise AttributeDefinitionError(('The    class    %s    does    not    define    an    ATTRIBUTE    variable.' % self.__class__))
    for key in self.ATTRIBUTES.keys():
        object.__setattr__(self, key, self.GetValidator(key).default)
    self.SetMultiple(attributes)
