# File lib/facets/more/downloader.rb, line 123
  def monitored_download( urls, filepath, checksum, est_size=0, force=false )

    checksum = checksum.to_s.strip
    est_size = nil if est_size == 0

    success=nil

    # source file exists and passes checksum then we need not fetch
    #file_path = File.join(to_dir,File.basename(url[0]))
    if File.exists?(filepath)
      if compute_checksum(filepath) == checksum and ! force
        interface.report("File has already been fetched and passes checksum.")
        success = filepath
      else
        File.delete(filepath)
      end
    end

    unless success
      # download
      urls.each do |url|
        begin
          #file_path = File.join(to_dir,File.basename(url[0]))
          #file_checksum = url[2].to_s.strip
          #file_size = url[3].to_i
          success = self.download( url, filepath, checksum, est_size )
          break if success
        rescue
          next
        end
      end
    end

    return success
  end