code: def add_namespace(self, name, a_namespace):
          
          # save a local copy of the namespace
          self.namespaces[name] = a_namespace
          # iterate through the namespace branding each of the options with the
          # name of the subparser to which they belong
          for k in a_namespace.keys_breadth_first():
              an_option = a_namespace[k]
              if not an_option.foreign_data:
                  an_option.foreign_data = DotDict()
              an_option.foreign_data['argparse.owning_subparser_name'] = name
docs: as we build up argparse, the actions that define a subparser are
          translated into configman options.  Each of those options must be
          tagged with the value of the subparse to which they correspond.