<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _ValidateFleetspeakServiceConfig(self, config_path):
 """Validates a Fleetspeak service config. Checks that the given file is a valid TextFormat representation of a Fleetspeak service config proto. Args: config_path: Path to the config file. Raises: BuildError: If the config is not valid. """

    with open(config_path, "rb") as f:
      pool = descriptor_pool.DescriptorPool()
      pool.AddDescriptor(fs_config_pb2.Config.DESCRIPTOR)
      parsed_config = text_format.Parse(
          f.read(), fs_system_pb2.ClientServiceConfig(), descriptor_pool=pool)
      if parsed_config.factory != "Daemon":
        raise BuildError(
            "Fleetspeak config does not have the expected factory type.")
      daemon_cfg = fs_config_pb2.Config()
      parsed_config.config.Unpack(daemon_cfg)
      if not daemon_cfg.argv:
        raise BuildError(
            "Fleetspeak daemon service config does not specify command line "
            "args.")