'Optionally require a value.
Normal validators do not accept None.  This will accept none on
behalf of the contained validator.
Args:
value: Value to be validated as optional.
key: Name of the field being validated.
Returns:
None if value is None, else results of contained validation.'

def Validate(self, value, key):

    if (value is None):
        return None
    return self.validator(value, key)
