code: def _FindInFileEntry(self, file_entry, find_specs, search_depth):
      
      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
docs: 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.