docs: def copy_files_to_folder(files, target_folder, overwrite=True):
      """Copy a list of files to a new target folder.
  
      Returns:
          A list of fullpath of the new files.
      """
      if not files:
          return []
  
      for f in files:
          target = os.path.join(target_folder, os.path.split(f)[-1])
  
          if target == f:
              # both file path are the same!
              return target
  
          if os.path.exists(target):
              if overwrite:
                  # remove the file before copying
                  try:
                      os.remove(target)
                  except Exception:
                      raise IOError("Failed to remove %s" % f)
                  else:
                      shutil.copy(f, target)
              else:
                  continue
          else:
              print('Copying %s to %s' % (os.path.split(f)[-1],
                                          os.path.normpath(target_folder)))
              shutil.copy(f, target)
  
      return [os.path.join(target_folder, os.path.split(f)[-1]) for f in files]