Add boolean item as an argument to the given parser.

        An exclusive group is created on the parser, which will add
        a boolean-style command line argument to the parser.

        Examples:
            A non-nested boolean value with the name 'debug' will result
            in a command-line argument like the following:

            '--debug/--no-debug'

        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.

def add_argument(self, parser, bootstrap=False):
        """Add boolean item as an argument to the given parser.

        An exclusive group is created on the parser, which will add
        a boolean-style command line argument to the parser.

        Examples:
            A non-nested boolean value with the name 'debug' will result
            in a command-line argument like the following:

            '--debug/--no-debug'

        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.
        """
        tmp_default = self.default
        exclusive_grp = parser.add_mutually_exclusive_group()
        self.default = True
        args = self._get_argparse_names(parser.prefix_chars)
        kwargs = self._get_argparse_kwargs(bootstrap)
        exclusive_grp.add_argument(*args, **kwargs)

        self.default = False
        args = self._get_argparse_names(parser.prefix_chars)
        kwargs = self._get_argparse_kwargs(bootstrap)
        exclusive_grp.add_argument(*args, **kwargs)

        self.default = tmp_default