code: def add_argument(self, parser, bootstrap=False):
          
          if self.cli_expose:
              if isinstance(self.child, YapconfBoolItem):
                  original_default = self.child.default
  
                  self.child.default = True
                  args = self.child._get_argparse_names(parser.prefix_chars)
                  kwargs = self._get_argparse_kwargs(bootstrap)
                  parser.add_argument(*args, **kwargs)
  
                  self.child.default = False
                  args = self.child._get_argparse_names(parser.prefix_chars)
                  kwargs = self._get_argparse_kwargs(bootstrap)
                  parser.add_argument(*args, **kwargs)
  
                  self.child.default = original_default
              else:
                  super(YapconfListItem, self).add_argument(parser, bootstrap)
docs: Add list-style item as an argument to the given parser.
  
          Generally speaking, this works mostly like the normal append
          action, but there are special rules for boolean cases. See the
          AppendReplace action for more details.
  
          Examples:
              A non-nested list value with the name 'values' and a child name of
              'value' will result in a command-line argument that will correctly
              handle arguments like the following:
  
              ['--value', 'VALUE1', '--value', 'VALUE2']
  
          Args:
              parser (argparse.ArgumentParser): The parser to add this item to.
              bootstrap (bool): Flag to indicate whether you only want to mark
                  this item as required or not.