def __reduce__(self):
return (<EOL>create_choice,<EOL>(<EOL>self.__class__,<EOL>[<EOL>(<EOL>entry.constant.original_value,<EOL>entry.value.original_value,<EOL>entry.display.original_value,<EOL>entry.attributes,<EOL>)<EOL>for entry in self.entries<EOL>],<EOL>[<EOL>(<EOL>subset_name,<EOL>[<EOL>c.original_value<EOL>for c in getattr(self, subset_name).constants.keys()<EOL>]<EOL>)<EOL>for subset_name in self.subsets<EOL>],<EOL>{<EOL>'<STR_LIT>': self.dict_class,<EOL>'<STR_LIT>': self._mutable,<EOL>}<EOL>)<EOL>)<EOL>
Reducer to make the auto-created classes picklable.

        Returns
        -------
        tuple
            A tuple as expected by pickle, to recreate the object when calling ``pickle.loads``:
            1. a callable to recreate the object
            2. a tuple with all positioned arguments expected by this callable