def build(c: Union[Text, 'Choice', Dict[Text, Any]]) -> 'Choice':
        """Create a choice object from different representations."""

        if isinstance(c, Choice):
            return c
        elif isinstance(c, str):
            return Choice(c, c)
        else:
            return Choice(c.get('name'),
                          c.get('value'),
                          c.get('disabled', None),
                          c.get('checked'),
                          c.get('key'))