code: def _find_files(self, entries, root, relative_path, file_name_regex):
          
          self.log([u"Finding files within root: '%s'", root])
          target = root
          if relative_path is not None:
              self.log([u"Joining relative path: '%s'", relative_path])
              target = gf.norm_join(root, relative_path)
          self.log([u"Finding files within target: '%s'", target])
          files = []
          target_len = len(target)
          for entry in entries:
              if entry.startswith(target):
                  self.log([u"Examining entry: '%s'", entry])
                  entry_suffix = entry[target_len + 1:]
                  self.log([u"Examining entry suffix: '%s'", entry_suffix])
                  if re.search(file_name_regex, entry_suffix) is not None:
                      self.log([u"Match: '%s'", entry])
                      files.append(entry)
                  else:
                      self.log([u"No match: '%s'", entry])
          return sorted(files)
docs: Return the elements in entries that
  
          1. are in ``root/relative_path``, and
          2. match ``file_name_regex``.
  
          :param list entries: the list of entries (file paths) in the container
          :param string root: the root directory of the container
          :param string relative_path: the relative path in which we must search
          :param regex file_name_regex: the regex matching the desired file names
          :rtype: list of strings (path)