<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _FindInFileEntry(self, file_entry, find_specs, search_depth):
 """Searches for matching file entries within the file entry. Args: file_entry (FileEntry):
 file entry. find_specs (list[FindSpec]):
 find specifications. search_depth (int):
 number of location path segments to compare. Yields: PathSpec: path specification of a matching file entry. """

    sub_find_specs = []
    for find_spec in find_specs:
      match, location_match = find_spec.Matches(file_entry, search_depth)
      if match:
        yield file_entry.path_spec

      # pylint: disable=singleton-comparison
      if location_match != False and not find_spec.AtMaximumDepth(search_depth):
        sub_find_specs.append(find_spec)

    if not sub_find_specs:
      return

    search_depth += 1
    try:
      for sub_file_entry in file_entry.sub_file_entries:
        for matching_path_spec in self._FindInFileEntry(
            sub_file_entry, sub_find_specs, search_depth):
          yield matching_path_spec
    except errors.AccessError:
      pass