'Checks that all required fields are initialized.
Since an instance of Validated starts off in an uninitialized state, it
is sometimes necessary to check that it has been fully initialized.
The main problem this solves is how to validate that an instance has
all of its required fields set.  By default, Validator classes do not
allow None, but all attributes are initialized to None when instantiated.
Raises:
Exception relevant to the kind of validation.  The type of the exception
is determined by the validator.  Typically this will be ValueError or
TypeError.'

def CheckInitialized(self):

    for key in self.ATTRIBUTES.iterkeys():
        try:
            self.GetValidator(key)(getattr(self, key))
        except MissingAttribute as e:
            e.message = ("Missing    required    value    '%s'." % key)
            raise e
