<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def option(self, name, description=None, action=None, resolve=None):
 """ Add or get option. Here are some examples:: command.option('-v, --verbose', 'show more log') command.option('--tag <tag>', 'tag of the package') command.option('-s, --source <source>', 'the source repo') :param name: arguments of the option :param description: description of the option :param action: a function to be invoked :param resolve: a function to resolve the data """


        if isinstance(name, Option):
            option = name
        else:
            name = name.strip()
            option = Option(
                name=name, description=description,
                action=action, resolve=resolve,
            )

        self._option_list.append(option)
        return self