docs: def _execute_configuration(self, argv):
          """This method assigns an argument list to attributes assigned to self.
  
          :param argv: A list of arguments.
          :type argv: list<str>
          :return: None
  
          This is the work horse method that does the work of invoking
          *configuration_option* and *cognate_configure* methods on progenitor
          classes of *ComponentCore*. In addition it takes the resolved
          arguments from *argparse.ArgumentParser* and assigns them to `self`.
          """
          if argv is None:
              argv = []  # just create an empty arg list
  
          # ensure that sys.argv is not modified in case it was passed.
          if argv is sys.argv:
              argv = list(sys.argv)
  
          # If this is the command line args directly passed, then we need to
          # remove the first argument which is the python execution command.
          # The first argument is the name of the executing python script.
          if len(argv) > 0 and argv[0].endswith('.py'):
              argv.pop(0)
  
          # execute configuration_option method on all child classes of
          # ComponentCore to gather all of the runtime options.
          arg_parser = argparse.ArgumentParser(
              formatter_class=argparse.ArgumentDefaultsHelpFormatter)
          self.invoke_method_on_children(func_name='cognate_options',
                                         arg_parser=arg_parser)
  
          # resolve configuration options necessary for runtime execution
          property_list = []
          # noinspection PyProtectedMember
          for action in arg_parser._get_positional_actions():  # pylint: disable=protected-access
              property_list.append(action.dest)
              # noinspection PyProtectedMember
          for action in arg_parser._get_optional_actions():  # pylint: disable=protected-access
              property_list.append(action.dest)
          property_list.remove('help')  # remove the help option
  
          args = arg_parser.parse_args(argv)
  
          # map the properties to attributes assigned to self instance
          copy_attribute_values(source=args,
                                target=self,
                                property_names=property_list)
  
          # now execute the configuration call on each base class
          # in the class inheritance chain
          self.invoke_method_on_children(func_name='cognate_configure',
                                         args=args)
  
          self.log.debug(
              'Component service configuration complete with argv: %s', args)