# File lib/archive/zip.rb, line 168
    def close
      raise IOError, 'closed archive' if closed?

      if writable? then
        # Write the new archive contents.
        dump(@archive)
      end

      # Note that we only close delegate streams which are opened by us so that
      # the user may do so for other delegate streams at his/her discretion.
      @archive.close if @close_delegate

      @closed = true
      nil
    end