code: def __search_files(self, files):
          
  
          for file in files:
              if self.__interrupt:
                  return
  
              if not foundations.common.path_exists(file):
                  continue
  
              if foundations.io.is_readable(file):
                  if foundations.io.is_binary_file(file):
                      continue
  
              LOGGER.info("{0} | Searching '{1}' file!".format(self.__class__.__name__, file))
              cache_data = self.__container.files_cache.get_content(file)
              if not cache_data:
                  reader = foundations.io.File(file)
                  content = reader.read()
                  if content is None:
                      LOGGER.warning("!> Error occured while reading '{0}' file proceeding to next one!".format(file))
                      continue
                  self.__container.files_cache.add_content(**{file: CacheData(content=content, document=None)})
              else:
                  content = cache_data.content
              occurrences = self.__search_document(QTextDocument(QString(content)), self.__pattern, self.__settings)
              occurrences and self.__search_results.append(SearchResult(file=file,
                                                                        pattern=self.__pattern,
                                                                        settings=self.__settings,
                                                                        occurrences=occurrences))
docs: Searches in given files.
  
          :param files: Files.
          :type files: list