'Validate this profile distribution.
Throws ProfileDistribution.ValidationError'

def validate(self):

    def validation_assert(predicate):
        '    Throw    a    ValidationError    if    false.    '
        if (not predicate):
            raise ProfileDistribution.ValidationError()
    validation_assert(isinstance(self.feature, str))
    validation_assert((self.feature in DISPLAY_NAMES))
    validation_assert(isinstance(self.feature_display_name, str))
    validation_assert((self.type in ['EASY_CHOICE', 'OPEN_CHOICE']))
    validation_assert(isinstance(self.data, dict))
    if (self.type == 'EASY_CHOICE'):
        validation_assert(isinstance(self.choices_display_names, dict))
