def __init__(self, value, choice_entry):
if isinstance(self, Promise):<EOL><INDENT>super(ChoiceAttributeMixin, self).__init__(value._proxy____args, value._proxy____kw)<EOL><DEDENT>else:<EOL><INDENT>super(ChoiceAttributeMixin, self).__init__()<EOL><DEDENT>self.original_value = value<EOL>self.choice_entry = choice_entry<EOL>if self.choice_entry.attributes:<EOL><INDENT>for key, value in self.choice_entry.attributes.items():<EOL><INDENT>setattr(self, key, value)<EOL><DEDENT><DEDENT>
Initiate the object to save the value and the choice entry.

        Parameters
        ----------
        value : ?
            Value to pass to the ``super`` constructor (for the other class using this mixin)
        choice_entry: ChoiceEntry
            The ``ChoiceEntry`` instance that hold the current value, used to access its constant,
            value and display name.

        Notes
        -----

        Call the ``super`` constructor with only the first value, as the other class doesn't
        expect the ``choice_entry`` parameter.