'Trap setdefaultss to ensure all key/value pairs are valid.
See the documentation for setdefault on dict for usage details.
Raises:
ValidationError: if the specified key is illegal or the
value invalid.'

def setdefault(self, key, value=None):

    return dict.setdefault(self, key, self.GetValidator(key)(value, key))
