new (Net::SFTP::Operations::Download)

    # File lib/net/sftp/operations/download.rb, line 146
        def initialize(sftp, local, remote, options={}, &progress)
          @sftp = sftp
          @local = local
          @remote = remote
          @progress = progress || options[:progress]
          @options = options
          @active = 0
          @properties = options[:properties] || {}

          self.logger = sftp.logger

          if recursive? && local.respond_to?(:write)
            raise ArgumentError, "cannot download a directory tree in-memory"
          end

          @stack = [Entry.new(remote, local, recursive?)]
          process_next_entry
        end