code: def add_option(self, option):
          
          assert isinstance(option, Option)
          repeatable = defines.OptionRegistry.LIST[option.number].repeatable
          if not repeatable:
              ret = self._already_in(option)
              if ret:
                  raise TypeError("Option : %s is not repeatable", option.name)
              else:
                  self._options.append(option)
          else:
              self._options.append(option)
docs: Add an option to the message.
  
          :type option: Option
          :param option: the option
          :raise TypeError: if the option is not repeatable and such option is already present in the message