code: def ParseOptions(cls, options, configuration_object):
      
      if not isinstance(configuration_object, tools.CLITool):
        raise errors.BadConfigObject(
            'Configuration object is not an instance of CLITool')
  
      hashers = cls._ParseStringOption(
          options, 'hashers', default_value=cls._DEFAULT_HASHER_STRING)
  
      hasher_file_size_limit = cls._ParseNumericOption(
          options, 'hasher_file_size_limit', default_value=0)
  
      # TODO: validate hasher names.
  
      if hasher_file_size_limit < 0:
        raise errors.BadConfigOption(
            'Invalid hasher file size limit value cannot be negative.')
  
      setattr(configuration_object, '_hasher_names_string', hashers)
      setattr(
          configuration_object, '_hasher_file_size_limit', hasher_file_size_limit)
docs: Parses and validates options.
  
      Args:
        options (argparse.Namespace): parser options.
        configuration_object (CLITool): object to be configured by the argument
            helper.
  
      Raises:
        BadConfigObject: when the configuration object is of the wrong type.
        BadConfigOption: when a configuration parameter fails validation.