code: def Copier(source, destination):
      
  
      if source.type == 'local' and destination.type == 'local':
          return LocalCopier(source, destination)
      elif source.type == 'local' and destination.type == 'google_storage':
          return Local2GoogleStorageCopier(source, destination)
      elif source.type == 'google_storage' and destination.type == 'local':
          return GoogleStorage2LocalCopier(source, destination)
      elif source.type == 'google_storage' and destination.type == 'google_storage':
          return GoogleStorageCopier(source, destination)
      else:
          raise FileUtilsError('Could not find method to copy from source '\
                          '"%s" to destination "%s".' % (source, destination))
docs: Factory method to select the right copier for a given source and destination.