# File lib/nanoc/base/compilation/item_rep_recorder_proxy.rb, line 70
    def snapshot(snapshot_name, params={})
      @rule_memory << [ :snapshot, snapshot_name, params ]

      # Count
      existing = Set.new
      names = @rule_memory.select { |r| r[0] == :snapshot }.map { |r| r[2] }
      names.each do |n|
        if existing.include?(n)
          raise Nanoc::Errors::CannotCreateMultipleSnapshotsWithSameName.new(@item_rep, snapshot_name)
        end
        existing << n
      end
    end