    # 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